我有一個「Pictureframe」的向量(pflist),我想銷燬所有這些向量。所以我運行pflist.clear();該文檔說,這將運行向量中每個項目的析構函數,但它不是!向量:clear/pop_back不會運行析構函數
我有一個:
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個pictureframes填充。我也嘗試了一個for循環,它經歷了向量pop_back'ing,並且有同樣的問題。
所以破壞者,你沒有電話?
你確定你沒有'PictureFrame *'的矢量嗎? – juanchopanza
你的矢量的類型是什麼?它是'vector'還是'vector '? –
Praetorian
我會調整這個問題 – Magicaxis