以下代碼無法正常工作。它應該如何正確地完成?如何遍歷STL集合並選擇性地刪除元素?
for (std::set<Color>::iterator i = myColorContainer.begin();
i!=myColorContainer.end();
++i)
{
if (*i == Yellow)
{
DoSomeProccessing(*i);
myColorContainer.erase(i);
}
}
代碼符合標準。我同意@Viktor Sehr這將是從集合中刪除元素的首選方法。但是,該問題詢問如何讓代碼段工作。 – 2010-06-17 09:21:57
@daramarak:我認爲你在編輯代碼的時候回答了(認爲它是我第一篇文章中的std :: vector) – 2010-06-17 09:41:30