или петля?

й программе на 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)

Ответы на вопрос(5)

Ваш ответ на вопрос