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