如何在C ++中为二叉树合并两个节点?

时间:2015-03-30 13:01:26

标签: c++

Node BinaryTree::Merge(Node* n1, Node* n2)
{
     Node sum = n1+n2;
     return sum;
}

这会返回错误:“IntelliSense:expression必须具有整数或未整合的枚举类型”

2 个答案:

答案 0 :(得分:1)

int BinaryTree::Merge(Node* n1, Node* n2)
{
    int sum = n1->nodeValue+n2->nodeValue;
    return sum;
}

无法添加两个非常明显的指针。

答案 1 :(得分:0)

看起来您需要声明要在堆而不是运行时堆栈上返回的“Node”。尝试

Node* BinaryTree::Merge(Node* n1, Node* n2)
{
     Node* sum = new Node(n1+n2);
     return sum;
}

您可能需要稍微重构一下代码。确保释放n1和n2以及返回的节点以避免内存泄漏。