for(int i=0; i<3; i++){
switch(i)
case 0:
LAYOUT[i].x=i;
LAYOUT[i].y=i;
case 1:
LAYOUT[i].x=funcx(i);
LAYOUT[i].y=funcy(i);
case 2:
LAYOUT[i].x=2*i;
LAYOUT[i].y=4*i;}
這是我遇到問題的簡化代碼。我想要這個代碼要做的是,當我= 0時,做什麼情況下0,當我= 1,做什麼情況1等等。開關語句僅適用於某些情況
但是,這裏是問題..例如,當i = 1時,它計算正確的.x(情況1)值,但對於.y它計算不同的i,例如0或2.我試圖把{ }圍繞每個案例中的所有代碼,但它沒有區別。我也試過我從1到3代替..
ofstream Zone1H;
Zone1H.open("TEST.txt");
for(int l=0; l<5; l++)
Zone1H<<LAYOUT[i].x<<" "<<LAYOUT[i].y<<endl;
我的保存部分是否可以成爲問題?我從來沒有問題,但這部分雖然..
你忘了在箱子之間放置'break',所以它正在下降到下一個案例。 – Barmar
另外,switch語句需要打開和關閉大括號。 'switch(i){...}'那些不是可選的。 – jpw
你可能會發現這個SO問題/答案的利益:http://stackoverflow.com/questions/252489/why-was-the-switch-statement-designed-to-need-a-break –