私は完全な木である個々のノードとTrieSetクラスですTrieNode構造体でトライの実装を作成しています。私が最初に再帰的にすべての子を削除し、最終的にノードを削除デストラクタを定義しようとしているが、私はセグメンテーションフォールトを取得していますデストラクタ
struct TrieNode {
TrieNode(bool in, TrieNode *p);
~TrieNode();
void deleteChildren(TrieNode *node);
bool isLeafNode();
bool inSet;
TrieNode *parent;
TrieNode *children[30];
};
:ここに私のTrieNodeの署名があります。 、任意の助けをいただければ幸いです
TrieNode::TrieNode(bool in, TrieNode *p)
{
inSet = in;
parent = p;
}
TrieNode::~TrieNode()
{
for(int i = 0; i < 30; i++)
{
if(children[i] != nullptr)
{
delete children[i];
}
}
}
感謝:ここに私のコンストラクタ、デストラクタとそのヘルパー関数のコードです!
3つのルール、5つのルール、またはゼロのルールのいずれかに従う必要があります。 – aschepler
コンストラクタのコードを追加できますか? – 1201ProgramAlarm