[英]C++ binary search tree using recursion, return node problem
我正在尝试创建一个 function 接收一个节点和一个值以进入树。 我将值作为(Node* 节点,int 值)传递。 但是当我返回该节点时,错误消息显示为“不存在合适的构造函数来从“节点”转换为“节点”。我看到了一些与我的问题非常相似的问题,但我无法理解所提供的答案。我是新树数据结构概念,所以请尽量简单解释一下。
class Node {
public:
int data;
Node* left;
Node* right;
Node(int value)
{
data = value;
left = right = nullptr;
}
};
Node* root = nullptr;
Node insert(Node *node, int value)
{
if (node == nullptr)
{
node = new Node(value);
return node;
}
}
您正试图返回一个指向Node
的指针,但该方法的签名说您想要返回一个Node
值。 将返回签名更改为Node
的指针
Node* insert(Node *node, int value)
{
if (node == nullptr)
{
node = new Node(value);
return node;
}
// also problem here if node is a nullptr, how to handle this
// you could throw exception or return nullptr
return nullptr;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.