El siguiente código no funciona correctamente. ¿Cómo se debe hacer correctamente?¿Cómo iterar sobre un conjunto STL y eliminar selectivamente elementos?
for (std::set<Color>::iterator i = myColorContainer.begin();
i!=myColorContainer.end();
++i)
{
if (*i == Yellow)
{
DoSomeProccessing(*i);
myColorContainer.erase(i);
}
}
cumple con los estándares. Estoy de acuerdo @ Viktor Sehr, esta sería la forma preferida de eliminar un elemento del conjunto. Sin embargo, la pregunta pregunta cómo hacer que el fragmento de código funcione. –
@daramarak: Creo que respondiste mientras editaba el código (pensé que era un estándar :: vector en mi primera publicación) –