我正在使用 Ubuntu。
在 C++ 中编程时,nullptr编译器无法识别关键字。
它说它没有在这个范围内声明。
它不起作用,即使我设置了 flag -std=c++11。
C++11 不是编译器,而是由许多流行的编译器实现的 ISO 标准。Ubuntu 上的默认 C++ 编译器g++来自 GNU Compiler Collection。正如您在问题中提到的,该-std=c++11标志启用了 C++11 功能g++以及 Clang,这是 Ubuntu 上可用的另一个 C++ 编译器。
当您的编译器未启用或不支持 C++11 支持时,会显示您看到的错误消息。GCC 4.6是第一个版本的支持nullptr,因此,如果您使用的是较早的版本,您将无法使用nullptr。使用g++ --version获得安装的版本。
假设您至少使用 GCC 4.6,您将需要确定为什么您的构建系统没有将正确的标志传递给编译器。例如,在 CMake 中,您将需要使用:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25212 次 |
| 最近记录: |