g ++编译器不了解nullptr

时间:2016-04-07 12:48:41

标签: c++11 compiler-errors 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)。
  4. 我不知道还有什么可能是错的,所以我会对任何建议表示感谢。

    编辑:错误消息如下:

      

    错误:未在此范围内声明nullptr。

    这是输出       g-- version 命令:

    g++ (OSE 4.9.2-2 20160202) 4.9.2
    

2 个答案:

答案 0 :(得分:1)

最近版本的g ++中的标志是-std=c++11

答案 1 :(得分:-1)

  

我的代码是使用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,而不是那个。