我有一个向量,如下所示。释放std :: vector的内存C++
std::vector<std::string> exportNameList;
我正在使用push_back方法为此添加元素。但是,我得到一个调试断言为“
” Windows已经引发了AxCent.exe.This断点可能是由于堆的腐败,这表明在AxCent.exe或任何的DLL中的错误它已经加载。
这发生在它调用类的析构函数时。当我引用调用堆栈时,我被引导到vector类中的以下代码块。
~vector()
{ // destroy the object
_Tidy();
}
我注意到删除矢量时出现错误。我对么?我该如何解决?我已经提到了很多例子,但是还没有设法解决这个问题。我对C++很陌生。
非常感谢。
你能展示你的矢量的真实声明吗?你在里面存储什么类型的对象? – Nikko
嗨。你的问题究竟是什么?当'exportNameList'超出范围时,向量内存将被释放。对于它所依赖的元素。 – esskar
,并显示您的代码为具有此成员的类的析构函数。 – Mat