C++編譯錯誤提示 [Error] name lookup of 'i' changed for ISO '


VC 6 中,i的作用域范圍是函數作用域,在for循環外仍能使用變量i 即:

for (int i = 0; i < n; ++i) { 
        //…… 

}

cout<<i<<endl;

這樣則編譯通過;

for (int i = 0; i < n; ++i) { 
        //…… 

int i = 5; 

這樣則編譯出錯。

 

DEV C++ 中,i的作用域僅限於for循環,即:

for (int i = 0; i < n; ++i) { 
        //…… 

}

cout<<i<<endl;

這樣則編譯出錯。

 

for (int i = 0; i < n; ++i) { 
        //…… 

int i = 5; 

這樣則編譯通過。

 

 

同樣的在VS中(vs2015)筆者也進行測試,結果同上述在dec中。

 

 

 


————————————————
版權聲明:本文為CSDN博主「獻世online」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_34611579/article/details/79860516


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM