【发布时间】:2011-08-23 16:58:17
【问题描述】:
在我的 C++ 程序中,我试图用全 0 初始化一个 3*3*3 类型的 double 数组。 在类头文件中,我声明了一个成员
double list[3][3][3];
当我打印出这个数组的内容时,我发现并不是所有的条目都像我预期的那样为 0。例如list[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)
【问题讨论】:
标签: c++ multidimensional-array g++