对于以下C ++代码:
cout<<"First symbol is : "<<*it<<std::endl;
我收到以下错误:
Transformtheexpression.cpp:50:42: error: name lookup of 'it' changed for ISO 'for' scoping [-fpermissive]
cout<<"First symbol is : "<<*it<<std::endl;
^ Transformtheexpression.cpp:50:42: note: (if you use '-fpermissive' G++ will accept your code)
如果我通过运行编译代码:
g++ -fpermissive
然后代码编译。 请解释一下这种行为。
答案 0 :(得分:1)
你的for循环中可能有错误。
你可能用分号终止了你的for循环,结束了&#34;它的范围&#34;。
它是for循环的局部变量。你试图在循环之外使用它。