我写C++应用程序应当编译在Windows和GCC上Linux.I都使用MS C++写了一个循环在Windows上通过的std ::列表,它迭代:
auto iter = container.GetObj()->begin();
while (iter!=container.GetObj()->end()){
(*(iter++))->Execute();
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,但用GCC编译时"auto"无法识别:
未检测到的令牌"auto" (在NetBeans IDE中)
所以我修复了它"明确定义迭代器:
std::list<Container*>::iterator iter=container.GetObj()->begin();
while (iter!=container.GetObj()->end()){
(*(iter++))->Execute();
}
Run Code Online (Sandbox Code Playgroud)
我的GCC版本是4.7.2
这是否意味着GCC不支持auto关键字?可能我需要升级编译器吗?