Le code suivant ne fonctionne pas correctement. Comment devrait-il être fait correctement?Comment itérer sur un ensemble STL et supprimer sélectivement des éléments?
for (std::set<Color>::iterator i = myColorContainer.begin();
i!=myColorContainer.end();
++i)
{
if (*i == Yellow)
{
DoSomeProccessing(*i);
myColorContainer.erase(i);
}
}
le code est conforme aux normes. Je suis d'accord @Viktor Sehr ce serait le moyen préféré pour supprimer un élément de l'ensemble. Toutefois, la question demande comment faire fonctionner l'extrait de code. –
@daramarak: Je pense que vous avez répondu pendant que j'ai édité le code (je pensais que c'était un vecteur std :: dans mon premier post) –