我有一个“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