다음과 같은 방식으로 지우기를 사용하여지도에서 요소를 제거하지만 제대로 작동하지 않습니다. 왜? 모두 제거하지는 않습니다. std::map::erase()
에서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);
}
}
THER e는 비슷한 질문입니다. http://stackoverflow.com/questions/4636182/problem-with-stdmapiterator-after-calling-erase – doctorlove