0
我通過macport安裝了g ++ 4.8。我可以通過調用g ++ - mp-4.8來使用它。C++編譯器g ++ 11
我用g ++ 4.8編譯這段代碼來看看我是否得到了C++ 11,但答案是預標準的C++。這怎麼可能?注意:我希望C++ 11可以使用自動迭代器。
if(__cplusplus == 201103L) std::cout << "C++11\n" ;
else if(__cplusplus == 19971L) std::cout << "C++98\n" ;
else std::cout << "pre-standard C++\n" ;
你添加了'-std = C++ 11'標誌嗎?另外,你錯過了那裏的C++ 03標準。通過「自動迭代器」,我猜你的意思是GCC 4.7 IIRC中已經提供的自動類型推導。 – 2015-02-09 18:01:15
舊標準是'199711L',你缺少一個'1'。 @Joachim Pileborg:C++ 03沒有引入'__cplusplus'的新值# – StenSoft 2015-02-09 18:06:02