Je pensais que le code suivant fonctionnerait mais il se bloque lorsque le widget cible est à la fin du vecteur.Manière sûre d'effacer en continu d'un fichier std :: vector?
for(std::vector<AguiWidget*>::iterator it = children.begin();
it != children.end(); ++it)
{
if((*it) == widget)
it = children.erase(it);
}
Je veux qu'il passe à travers et supprime toute instance qu'il trouve de widget. Je comprends que cette méthode est N^2 mais comme cela est piloté par les événements, c'est bien. Je ne sais pas pourquoi cela devrait échouer. Quand c'est le cas, 'c'est' == widget.
Merci
Check out http://stackoverflow.com/questions/347441/erasing-elements-from-a-vector – GWW