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