или петля?
й программе на C ++ я пытаюсь инициализировать массив 3 * 3 * 3 типа double со всеми 0. В заголовочном файле класса я объявил член
double list[3][3][3];
Когда я распечатал содержимое этого массива, я обнаружил, что не все записи равны 0, как я ожидал. например список [1] [1] [1] имеет значение 4.03158e-321
Следовательно, я вручную инициализировал этот массив для всех 0 в конструкторе:
list = {{{0,0,0},{0,0,0},{0,0,0}},
{{0,0,0},{0,0,0},{0,0,0}},
{{0,0,0},{0,0,0},{0,0,0}}};
Это заставляет мою программу работать, однако я получил предупреждение компилятора:
warning: extended initializer lists only available with -std=c++0x or -std=gnu++0x
Поэтому мой вопрос
Почему список имеет ненулевые записи после инициализации в заголовке?Почему я получаю приведенное выше предупреждающее сообщение и как от него избавиться?Мой компилятор g ++ (Ubuntu / Linaro 4.5.2-8ubuntu4) 4.5.2, с gcc версии 4.5.2 (Ubuntu / Linaro 4.5.2-8ubuntu4)