【发布时间】:2020-02-13 03:20:12
【问题描述】:
我正在尝试在我大学的 ssh 服务器上编译一个项目,但出现错误:
Node.h:12: error: ‘nullptr’ was not declared in this scope
来自我的 Node.h 类的代码块:
template <typename T>
struct Node{
T data;
Node *leftChild;
Node *rightChild;
Node(const T & theData = nullptr, Node *left = nullptr, Node *right = nullptr);
Node(T && theElement = nullptr, Node *left = nullptr, Node *right = nullptr);
T getData();
};
服务器在GCC 版本4.4.7 上运行,我正在使用以下命令进行编译:
g++ -std=c++0x
^ 我在这个课程的所有项目中都使用了这个命令,这是我第一次遇到这个问题。我可以尝试什么来解决这个问题?
【问题讨论】:
-
你的编译器是旧的。
-
我知道,我不知道为什么我的学校这么久没有更新它:(
-
nullptr在C++11中诞生,见en.cppreference.com/w/cpp/language/nullptr -
@hmp54 您的编译器似乎不支持文字 nullptr。而是使用 NULL。
-
使用
const T & theData = nullptr,您的元素只能是指针(或nullptr_t)。我怀疑这就是你想要的——你可能想要const T & theData = T()