Я пытаюсь создать шаблон дерева, который может иметь любое количество дочерних элементов на каждом узле. Это мой код для функции 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 *).
Узел ** дети;
Я получаю сообщение об ошибке «Ожидаемое первичное выражение перед '[' token» ». Наверное, я неправильно получаю доступ к 2D-массиву? Или, может быть, я должен пойти по-другому? Как вы думаете, это сработало бы, если бы у меня были дети как
Узел * дети
Я чувствую, что это может сработать, если у меня просто будет Node *, и каждый элемент будет отдельным Node.
Любая помощь приветствуется.