我的代码是使用g++编译器4.9.0版本编译的。我正在使用C++11。
但是,编译器不理解nullptr
关键字。以下是我的发现:
- 这不是打字错误,因为单词
nullptr
在编辑器中以粗体显示 - g++支持
nullptr
,因为它的版本大于4.6.0 - 编译器理解我想要使用C++11,因为当我提前一行使用
auto
或decltype
时,它不会抱怨(我使用-std=c++0x
命令行参数,但我也使用-std=gnu++0x
)
我不知道还有什么问题,所以如果有任何建议,我将不胜感激。
编辑:错误消息如下:
错误:未在此作用域中声明nullptr。
这是g——版本命令:
g++ (OSE 4.9.2-2 20160202) 4.9.2
g++的最新版本中的标志是-std=c++11
。
我的代码是使用g++编译器4.9.0版本编译的。我正在使用C++11。
不,它不是,它是用GCC 4.5或更旧版本编译的。否则nullptr
将起作用。
这是g--version命令的输出:
g++ (OSE 4.9.2-2 20160202) 4.9.2
当然不是4.9.0,OSE是什么?
你是如何编译代码的?因为它似乎找到了GCC的另一个版本,而不是那个版本。