我有一個向量,如下所示。釋放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