VS 对“makeEmptyHelper”的“Node*”参数不满意,因为它没有“看到”我猜想的结构。
public:
void makeEmpty(); // make the tree empty so isEmpty returns true
void makeEmptyHelper(Node*);
private:
struct Node {
NodeData* data; // pointer to data object
Node* left; // left subtree pointer
Node* right; // right subtree pointer
};
Node* root; // root of the tree
最佳答案
你不能那样做。我看到您正在尝试完成两件可能的事情:
可以公开访问
makeEmptyHelper
但隐藏struct Node
的内容。在这种情况下,您应该将struct Node
的字段声明为私有(private),或者将struct Node
声明为公共(public)但仅在您的实现文件中定义其成员。让
makeEmptyHelper
成为另一个成员函数的辅助函数。在这种情况下,将其设为私有(private)。
关于c++ - 如果我使用的是私有(private)结构,我如何将其声明为上面列出的公共(public)成员函数的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21250598/