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