當試圖編譯代碼的g ++給了我這個錯誤:對於二維數組循環
#include<iostream>
int main(){
int coordinates[3][2]={{1,2},
{5,2},
{5,9}};
for(int coordinate[2]:coordinates){
std::cout<<coordinate[0]+coordinate[1];
};
return 0;
};
當試圖編譯代碼的g ++給了我這個錯誤:對於二維數組循環
#include<iostream>
int main(){
int coordinates[3][2]={{1,2},
{5,2},
{5,9}};
for(int coordinate[2]:coordinates){
std::cout<<coordinate[0]+coordinate[1];
};
return 0;
};
好「數組必須用括號內的初始化初始化」,我可以清楚地看到你的代碼中的問題。
在循環中,類型不是純int,而是int *。你有兩個選擇,要麼使用int *或自動
您的最終代碼看起來應該行
int main(){
int coordinates[3][2]=
{
{1,2},
{5,2},
{5,9}
};
// You can use either int* or auto.
// I personally prefer auto
// as it's more cleaner.
//
// for(int *coordinate :coordinates){
for(auto coordinate:coordinates){
std::cout<<coordinate[0]+coordinate[1];
};
return 0;
};
你對()循環是不正確的。你到底想要打印什麼? –
我想做一個象棋遊戲和座標數組是可能的運動,這個for循環是爲了讓棋盤瓦片可能的運動。 –