int
の値、BinaryTree* left
、BinaryTree* right
を保持するバイナリツリークラスを作成しました。C++バイナリツリー再帰的デストラクタの問題
class BinaryTree {
private:
int value;
BinaryTree* left;
BinaryTree* right;
bool isVisited;
public:
BinaryTree();
BinaryTree createComplete(int n);
~BinaryTree();
}
私のデストラクタは、次のとおりです。
BinaryTree::~BinaryTree() {
delete left;
delete right;
}
clionで実行している場合、それは完璧に動作しますが、私の端末で、私は(コアダンプ) セグメンテーション違反を取得します。どこでも私は人々がこれがデストラクタでなければならないと主張しているように見えた。どんな精巧さが助けになるでしょう!
私はまだセグメンテーションフォルトを取得するために私〜BinaryTree機能を更新し、stackoverflowの専門家ではない午前:すべての
BinaryTree::~BinaryTree() {
if (right != NULL) {
delete right;
}
if (left != NULL) {
delete left;
}
}
コンストラクタの定義も表示できますか? –
どのようにBSTを構築していますか?この問題を私たちの目的のために再現できるほどのコードを投稿できますか? – templatetypedef