我尝试实施BST,但std::nullptr
向我显示错误:
错误:'nullptr'之前的预期unqualified-id
#include <iostream>
#include <memory>
template <typename T>
class BinTreeNode {
public:
BinTreeNode(T key): data {key} {
left = std::nullptr;
right = std::nullptr;
}
~BinTreeNode() {}
T data;
BinTreeNode<T>* left;
BinTreeNode<T>* right;
};
template <typename T>
class BinTree {
public:
BinTree(){
root = std::nullptr;
}
~BinTree() {}
BinTreeNode<T>* root;
};
int main(){
BinTree<int> tree;
}
我尝试在Google上搜索,但没有任何与std::nullptr
答案 0 :(得分:15)
nullptr
, unlike nullptr_t
, does not need std::
prefix。这样做的原因是nullptr是一个文字,并没有在命名空间String sql1 = "INSERT INTO transferred (subjectCode,subjectName,credit,prequisite,matricsNo) "
+ "SELECT b.subjectCode,b.subjectName,b.credit,b.prequisite,s.matricsNo "
+ "FROM bitm b, student s "
+ "WHERE b.subjectCode = ? AND b.subjectName = ? AND s.matricsNo = ? ";
ps = con.prepareStatement(sql1);
ps.setString(1, sbjC);
ps.setString(2, sbjN);
ps.setString(3,matricsno);
ps.executeUpdate ();
中定义,在那里没有定义42。它也不需要使用任何包含指令。
另一方面,std
是一种类型,在名称空间nullptr_t
中定义,需要包含std
。