バイナリ検索ツリーを作成しました。バイナリツリーの各ノードは、キーと、左右のノードへのポインタを含む構造体に設定されています。
このバイナリ検索ツリーのコピーコンストラクターでは、ヘルパーメソッドを呼び出して、次のようにツリーを繰り返し処理します。
Node* BinaryTree::copyHelper(const Node* other)
{
if(other == NULL)
{
return NULL; // If there's no Node to copy, return NULL.
}
Node* newNode = new Node;
if(newNode)
{
newNode->name = other->name;
newNode->left = copyHelper(other->left);
newNode->right = copyHelper(other->right);
}
return newNode;
}
タイトルに記載されている私のエラーは、上記の最後のifステートメントの左右のポインターにあります。
誰かがそれを取り除く方法を教えてくれたら、それはありがたいです。