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