したがって、セグメンテーション違反を返し続けるため、この関数の実行に問題があります。「削除ルート」に絞り込みました。行ですが、このエラーを修正する方法がわかりません。
助言がありますか?
割り当てに含まれる事前条件と事後条件は次のとおりです。
// 前提条件: root は二分探索木のルートへのポインタです。
// 事後条件: この関数は、二分探索ツリーのすべてのノードを削除し、ルートを // NULL に設定します。
template<class Key, class Item>
void tree_clear(bstNode<Item, Key>*& root)
{
bstNode<Item, Key>* child;
if(root != NULL)
{
child = root->left();
tree_clear(child);
child = root->right();
tree_clear(child);
delete root;
root = NULL;
}
}