我试图初始化数组为全零的for循环与C++写:警告有关数组初始化
for(int k=1; k<4; k++){
p[n]={0};
for(int k1=0; k1<n; k1++){
x=x+y;
}
}
但我编译时得到一个警告说:
警告:扩展初始值设定项列表仅适用于-std = C++ 0x或-std = gnu ++ 0x [默认启用]
有没有人知道它的含义? 或我该怎么做才能得到这个警告?
我试图初始化数组为全零的for循环与C++写:警告有关数组初始化
for(int k=1; k<4; k++){
p[n]={0};
for(int k1=0; k1<n; k1++){
x=x+y;
}
}
但我编译时得到一个警告说:
警告:扩展初始值设定项列表仅适用于-std = C++ 0x或-std = gnu ++ 0x [默认启用]
有没有人知道它的含义? 或我该怎么做才能得到这个警告?
这意味着您正在使用的初始化语法是在C++ 11中引入的。为了摆脱警告,您必须通过传递-std = C++ 0x来在编译器中启用C++ 11支持。
此外,我认为你有你的ks和ns混合在代码示例中。事实上,外层循环一遍又一遍地做同样的事情。
int myArray [5] = {0}; 然后你可以初始化一个数组为全零! 只是尝试!
您有使用'{}'的具体原因吗?它需要用作数组初始化的一部分,但不能在赋值期间使用。 – Mahesh 2012-08-04 00:19:33
什么是'p'定义为? – Linuxios 2012-08-04 00:19:35
只是所以你知道,你可以只是'x + = y;'而不是'x = x + y;' – jrad 2012-08-04 00:20:00