0

作成されたリンクリストIvのオブジェクトのデストラクタを実装しようとしています。MakeEmptyという関数を作成しました。これは、デストラクタ内で呼び出すだけです。最初は正しくコンパイルされましたが、今は次のようなエラーですぐにクラッシュします。

式:_BLOCK_TYPE_IS_VALID(pHead-> nBlockUse)

誰かが私が何が悪いのかを理解するのを手伝ってもらえますか?デバッガーを実行して、コードのどこにエラーがあるかを指摘しましたが、何が問題なのかわかりません。

WORD::~WORD()
{
cout << "Destructor Called"<<endl;

(*this).MakeEmpty();
}

そしてこれはMakeEmpty()関数です

void WORD::MakeEmpty()
{
alpha_numeric *p = (*this).front;

if((*this).IsEmpty())
{
    cout <<"Already empty"<< endl;
    return;
}

while(front != 0)
{
    front = front -> next;
    delete p;//<<<<---DEBUGGER SAYS ERROR HERE
    p = front;
}
return;
}
4

1 に答える 1

1

クラスの三つのルールに従いましたか?エラーは、コピーコンストラクターまたはコピー代入演算子が欠落しているように聞こえます。

于 2012-06-11T04:10:36.617 に答える