[問題] for迴圈中宣告計次變數

作者: xxxx5801   2015-12-22 01:07:08
先貼程式碼:
http://pastie.org/10645898
//以下為示意code
...
int a=5;
...
for(int i=1;i<=a;i++){
cout << i;
if(i != a)
cout << ",";
}
...
如題,迴圈中的if是為了讓最後一個不要有","
整個程式中像這樣的迴圈一共有三個,但是很奇怪的是前兩個都可以正常跑
第三個就有錯誤
編譯的錯誤信息如下:
name lookup of 'i' changed for new ISO 'for' scoping
using obsolete binding at 'i'
上網google後的結果大多是說計次變數需要宣告,可是我有宣告呀
沒道理第三個不能跑,求解
作者: e8218268 (omega)   2015-12-22 01:21:00
for loop看起來沒有用大括號包起來
作者: LPH66 (-6.2598534e+18f)   2015-12-22 01:29:00
樓上正解, 於是 if(i!=a) 的 i 在迴圈外面新標準規定 for(int i...) 的 i 只在 for 裡有效(講新標準是指錯誤訊息裡的 new ISO 'for' scoping)
作者: overhead (overhead)   2015-12-22 02:23:00
你要不要整段貼上來? 你文中說沒問題 可是現在就是有問題 這種情況只能直接看code中有沒有你沒注意到的
作者: Jruffian   2015-12-22 02:59:00
第三個 for 迴圈 少一個左括號 {

Links booklink

Contact Us: admin [ a t ] ucptt.com