class BinarySearchTree
{
private:
Node *root;
public:
BinarySearchTree() ;
~BinarySearchTree();
void insert_node(int, Node*);
void print_tree(Node *);
friend Node* get_root();
};
/**********************BinarySearchTree definition***************/
BinarySearchTree::BinarySearchTree() : root(nullptr)
{
}
Node* get_root()
{
Node* x= root;
return x;
}
编译器说,error C2065: 'root' : undeclared identifier
为什么不能编译器识别root
虽然get_root
是朋友的功能?访问私有成员变量没有对象
同样,为什么我不能使用这样的默认参数?
void BinarySearchTree::insert_node(int inserted_key,Node* traverse_ptr = root);
我向你推荐'BinarySearchTree'和'Node'是同一件事,而不是两件不同的事情。任何'Node'实际上都是BST的根。 – EJP