双指针问题

时间:2011-03-03 18:30:02

标签: c++ pointers data-structures tree

我正在尝试创建一个树模板,每个节点上可以有任意数量的子节点。这是我在节点类中的addChild函数的代码 -

template<typename T>
void Tree<T>::Node::addChild(T& value) {
    Node* temp = new Node(value, this); //second parameter is for parent
    numOfChildren++;
    children*[numOfChildren] = temp;
}

我没有指向左右孩子的指针,我想我应该制作一个双指针(指向Node *数组的指针)。

Node ** children;

我不断收到“''令牌”错误之前的“预期主要表达式”。我猜我正在错误地访问2D数组?或许我应该以不同的方式去做?如果我只是生孩子,你认为它会起作用吗

节点*儿童 ?

如果我只有一个Node *并且每个元素都是不同的节点,我觉得它可能会有用。

感谢任何帮助。

1 个答案:

答案 0 :(得分:6)

只需使用children[numOfChildren]即可。或者使用std::vector<Node *> children;

以正确的方式执行此操作