dev c++ 编译错误 [Error] name lookup of 'i' changed for ISO 'for' sc

在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) {
    
     
    //…… 
} 
int i = 5; 

可以通过

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

则编译出错。

vs.net 中,两种都能通过,但是若在for循环外使用i是,会给出警告。


猜你喜欢

转载自blog.csdn.net/qq_33460865/article/details/82886421