「Pictureframe」のベクトル(pflist)があり、それらをすべて破棄したいと思います。だから私はpflist.clear();を実行します。ドキュメントには、これがベクター内の各アイテムのデストラクタを実行すると書かれていますが、そうではありません!
私は持っています:
vector<Pictureframe*> pflist;
そして、これが残りです:
class Pictureframe{
scene::IMeshSceneNode *picture;
scene::IMeshSceneNode *frame;
public:
Pictureframe();
~Pictureframe();
};
次に、cppファイルで:
Pictureframe::~Pictureframe(){
// delete picture;
// delete frame;
cout<<"Destructor Called.\n\n";
}
「デストラクタと呼ばれる」が見えない!これが私がそれを呼ぶところです:
pflist.clear();
私はこのラインが実行されていると確信しています、そしてそれは5つのピクチャーフレームによって占められています。ベクトルpop_back'ingを通過するforループも試しましたが、同じ問題がありました。
それで、デストラクタ、YU NO CALL?