我寫C++應用程序應當編譯在Windows和GCC上Linux.I都使用MS C++的std ::列表迭代器關鍵字寫了一環上通過Windows系統的std ::列表,它迭代:使用「自動」與GCC
auto iter = container.GetObj()->begin();
while (iter!=container.GetObj()->end()){
(*(iter++))->Execute();
}
它工作正常,但與GCC 「自動」 編譯時它就會無法識別:
Unexptected令牌 「自動」(在NetBeans IDE)
所以我固定它定義迭代器「明確:
std::list<Container*>::iterator iter=container.GetObj()->begin();
while (iter!=container.GetObj()->end()){
(*(iter++))->Execute();
}
我的版本的GCC 4.7.2是
這是否意味着GCC不支持自動關鍵字?可能是我需要升級編譯器?
您使用的是哪個版本的GCC? –
這取決於您使用的GCC版本 – piwi
您使用的是哪個版本的gcc?你是用'-std = C++ 11'編譯的嗎? –