2012-08-04 64 views
-1

我試圖初始化數組爲全零的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 [默認啓用]

有沒有人知道它的含義? 或我該怎麼做才能得到這個警告?

+1

您有使用'{}'的具體原因嗎?它需要用作數組初始化的一部分,但不能在賦值期間使用。 – Mahesh 2012-08-04 00:19:33

+1

什麼是'p'定義爲? – Linuxios 2012-08-04 00:19:35

+0

只是所以你知道,你可以只是'x + = y;'而不是'x = x + y;' – jrad 2012-08-04 00:20:00

回答

1

這意味着您正在使用的初始化語法是在C++ 11中引入的。爲了擺脫警告,您必須通過傳遞-std = C++ 0x來在編譯器中啓用C++ 11支持。

此外,我認爲你有你的ks和ns混合在代碼示例中。事實上,外層循環一遍又一遍地做同樣的事情。

0

int myArray [5] = {0}; 然後你可以初始化一個數組爲全零! 只是嘗試!