g ++ advertencia al declarar multidimensional, doble matriz
En mi programa C ++, estoy tratando de inicializar una matriz 3 * 3 * 3 de tipo double con todos los 0. En el archivo de encabezado de clase, declaró un miembro
double list[3][3][3];
Cuando imprimí el contenido de esta matriz, descubrí que no todas las entradas son 0 como esperaba. p.ej. la lista [1] [1] [1] tiene el valor 4.03158e-321
Hence Inicialicé manualmente esta matriz a todos los 0 en el constructor:
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}}};
Esto hace que mi programa funcione, sin embargo, recibí la advertencia del compilador:
warning: extended initializer lists only available with -std=c++0x or -std=gnu++0x
Mi pregunta es, por lo tanto,
¿Por qué la lista tiene entradas distintas de cero después de inicializarse en el encabezado? ¿Por qué recibo el mensaje de advertencia anterior y cómo deshacerme de él?Mi compilador es g ++ (Ubuntu / Linaro 4.5.2-8ubuntu4) 4.5.2, con gcc versión 4.5.2 (Ubuntu / Linaro 4.5.2-8ubuntu4)