标准化后C++中,定义在for循环内部的变量,循环外部不可使用
#include <iostream>
using namespace std;
int main()
{
int sum = 0;
for(int i = 0; i < 5; ++i)
{
sum += i;
}
i = 3; //报错,由于在标准化后C++中,定义在for语句头的变量,在for循环外是不可访问的。
return 0;
}
编译报错显示:
|error: name lookup of ‘i’ changed for ISO ‘for’ scoping [-fpermissive]|