リンクリストを作成していますが、構造体のデストラクタ(ノード構造体)がそれ自体を削除するだけで、副作用が発生しないようにする必要があります。次のように、リストのデストラクタがそれ自体でノードデストラクタを繰り返し呼び出す(次のノードを一時的に保存する)ようにします。
//my list class has first and last pointers
//and my nodes each have a pointer to the previous and next
//node
DoublyLinkedList::~DoublyLinkedList
{
Node *temp = first();
while (temp->next() != NULL)
{
delete temp;
temp = temp->next();
}
}
したがって、これは私のノードデストラクタになります。
Node::~Node
{
delete this;
}
これは、特にこのコンテキストでは受け入れられますか?