我通過以下方式使用擦除來從地圖中刪除元素,但它無法正常工作。爲什麼?它並沒有消除所有。C++地圖擦除功能無法正確使用迭代器
float nw_cut=80.0;
for(it=nw_tot1.begin();it!=nw_tot1.end();it++)
{
float f=(float) ((float) it->second/lines)*100.0;
if (f < nw_cut)
{
nw_tot1.erase(it);
}
}
療法e是類似的問題,例如http://stackoverflow.com/questions/4636182/problem-with-stdmapiterator-after-calling-erase – doctorlove