即使启用了 C++11 和 C++14,也未声明 nullptr

nullptr not declared even with C++11 and C++14 enabled

我刚刚安装了 CodeLite 和最新版本的 TDM-GCC 编译器。它同时支持 C++11 和 C++14。但是,当我使用 nullptr 编写程序时,它仍然告诉我 'nullptr' was not declared in this scope

我还需要做什么才能让 nullptr 被编译器接受?

您需要为您的项目启用c++11。您显示的对话框允许您针对不同的选项修改发送到编译器的实际开关(稍后我将对此进行解释)。

首先,要为您的项目启用 c++11,请右键单击 "Workspace View"(左窗格)中的项目文件夹,然后 select "Settings"(或者从主菜单栏 Workspace->Open Active Project Settings... or Alt-F7).

Select "Compiler" 从设置列表(对话框左侧),然后单击 "C++ Compiler Options" 选项右侧的省略号。

这将显示 "Compiler Options" 对话框,您可以在此处查看 "Enable C++11 features [-std=c++11]"。

现在,正如我在开头提到的,您显示的对话框允许您修改发送给编译器的开关。假设您正在使用具有开关“-std=gnu++11”的编译器。您可以在 "Build Settings" 对话框(您显示的那个)中添加此开关,然后在使用此构建工具的任何项目中检查它。

它相当复杂,但需要允许使用 IDE 作者甚至没有听说过的不同构建工具。