今天用c++中vector的迭代器时,看见学长是这样写的
for(auto it=ve.begin()+1;it!=ve.end();)
{
if(*it==0)
it=ve.erase(it);
else
it++;
}
看见这个auto一句卧槽不知道该不该讲,为啥我比赛的时候用这就会报错,连编译都过不去;提示it does not name a type
事实上, auto 是 C++11 里新的类型说明符, 只要调一下编译环境就ok了,过程很简单:
过程如下 :
Settings -> Compiler, 打开Global compiler settings界面,将"Have g++ follow the C++11(也可能是14,>= 11就行) ISO C++ language"选项打上勾,最后点击OK。
然后就ojbk;