Bonjour,

Je cherche à explorer une liste de pointeurs. Je veux tester les objets pointés sur l'un de leurs critères, et dès que le test est vérifié, je souhaite enlever le pointeur de ma liste et libérer ce pointeur. Après une libération, je ne suis pas obligé de continuer mon parcours (pour vérifier que d'autres objets pointés vérifient la condition également).

Voici mon code (qui ne marche évidemment pas) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
for(std::list<Objet *>::iterator itObjet = getListeObjets()->begin(); 
			itObjet != getListeObjets()->end(); itObjet++)
		{
			if( itObjet->getCritere() == CONDITION)
			{
				getListeObjets()->erase(*itObjet);
				delete *itObjet;
			}
		}