0

重複の可能性:
「delete this」はメンバー メソッド内から呼び出す必要がありますか?

以下のコードのように、OnOk イベント ハンドラ関数から delete を呼び出すのが正しいです。

void CTestDlg::OnOK() 
{
    CDialog::OnOK();

    this->DestroyWindow();
    delete this;
}
4

1 に答える 1

1

ダイアログインスタンスがモードレスであるため、すべてを試していると思いますか?

その場合、オーバーライドから基本クラス OnOK() を呼び出すのではなく、DestroyWindow() のみを呼び出す必要があります。

あなたがしなければならない場合はdelete this、オーバーライドがPostNcDestroy()適切な場所です。

于 2012-12-13T12:32:08.513 に答える