根据c++标准,在for的初始语句中声明的变量,其作用范围是从它定义的位置开始,一直到for所带语句的作用域结束。
由于VC6.0对C++标准的支持性不是太好,导致了在for定义的变量在for外部仍可返回。看下面的代码:
#include <iostream>
using namespace std;
int main()
{
for(int i=0;i<5;i++)
{
}
cout<<i<<endl;
return 0;
}
在VC6.0上面运行正常,输出5;
在vs2010显示错误: error C2065: “i”: 未声明的标识符;