0

コードのどこかで : を呼び出しA* p = new A;、ポインター p をベクトルに入れます。

ここで、ポインターとポインターが指しているクラスを削除したいと思います。このような:

A* p = getpointerfromvector(index); // gets the correct pointer

ベクトルからポインターを削除します。

vector.erase(vector.begin()+index)

今、ポインターが指しているクラスを削除して削除したいと思います。

delete p; // (doest work: memorydump)  

またはbody: をp->~A持つ~Aクラス A のデストラクタを使用しますdelete this;。(関数を呼び出すたびにプログラムが終了します。)

4

1 に答える 1