g++ 编译器不理解 nullptr



我的代码是使用g++编译器4.9.0版本编译的。我正在使用C++11。

但是,编译器不理解nullptr关键字。以下是我的发现:

  1. 这不是打字错误,因为单词nullptr在编辑器中以粗体显示
  2. g++支持nullptr,因为它的版本大于4.6.0
  3. 编译器理解我想要使用C++11,因为当我提前一行使用autodecltype时,它不会抱怨(我使用-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的另一个版本,而不是那个版本。

最新更新