March 29th, 2005
對於for loop的使用,相信大家跟我一樣,總是習慣去撰寫
for(int i=0; i<5; ++i) { > > ....... > > } > > cout << i ; > >
但是,若是根據以上的程式,利用VC6或是BCB會看到哪樣的ouput i?很簡單~~就是 i = 5,但是正常來說,i 的scope 在哪裡??
i 應該是在for 之內的,所以他的生命週期(scope)應該也是在其中,但是由於VC++與BCB的錯誤,此得i 的scope 變成了for 之外,造成許多程式的問題。
解決方式: #define for if(0); else for
參考網站: BBS文章,參照侯捷老師上課內容