**object
別のオブジェクト (構成) 内のメンバーとして( )を持っています。別の( )を指す**personnel
メモリを解放し、それをingせずにプログラムを実行するだけでうまく実行したいのですが、しようとするとめちゃくちゃになりますすべてが起動しているのに、常にエラーが発生する " " **personnel
**temp
personnel=temp
delete
**personnel
personnel=temp
delete **personnel
_Block_Type_Is_Valid (pHead->nBlockUse)
(私はデストラクタ(およびvirtual
ベースデストラクタ)を持っていますが、それらのいくつかは何もしませんが、それでもエラーが発生します)。(私はあらゆる角度から、などを試しましたdelete personnel[i]
)delete []personnel[i]
)
(これで数日を失いました)
私は何か間違ったことをしていますか、それは正しいdelete
ですか? もしそうなら、どうすればいいですか?
編集:
if(personnel!=NULL)
{
for(i=0;i<numberofemployees;i++)
{ **/*what to do here*/**
delete []this->personnel[i];
}
/*delete personnel;*/
}
personnel=temp;
numberofemployees++;
}
**personnel はこのクラスのメンバーです (Employee **personnel、employee は他の派生クラスの基本クラスです。すべての種類の従業員、私はポリモーフィズムを使用しています)、この関数は従業員を追加するだけです。関数は長いですそのため、一部のみを掲載しています。ご理解いただければ幸いです。削除しない場合は、すべて正常に動作しているように見えます。そうしないと、アサーション エラーが発生します。