1
刪除指針我有地圖在C++地圖
std::map<std::string, my_class*> name2ptr;
我試圖通過地圖第一遍歷刪除的my_class指針和後來清除地圖刪除地圖中的內容。現在,當地圖中只有一對時,我遇到了問題。該地圖現在只有一個條目
<"ajay", 0xabcd>
它在刪除((* itr).second)時崩潰。 for循環如下。
name_map_type::iterator itr;
for(itr= name2ptr.begin();itr!=name2ptr.end();itr++){
if((*itr).second){
delete ((*itr).second);
}
}
name2ptr.clear();
我該如何解決這個問題?
它在那裏崩潰,但問題在別的地方。 –
您發佈的代碼沒有任何問題。這個錯誤幾乎肯定是你的代碼中的其他地方。 – templatetypedef
my_class的析構函數是什麼樣的? –