我有一张地图
std::map<std::string, my_class*> name2ptr;
我尝试通过首先遍历地图以删除 my_class 指针然后清除地图来删除地图的内容。现在,当地图中只有一对时,我遇到了问题。地图现在只有一个条目
<"ajay", 0xabcd>
它在 delete((*itr).second) 处崩溃。for循环如下。
name_map_type::iterator itr;
for( itr= name2ptr.begin();itr!=name2ptr.end();itr++){
if((*itr).second){
delete ((*itr).second);
}
}
name2ptr.clear();
我该如何解决这个问题?