Salut à tous,

Je n'arrive pas à supprimer les éléments (certains que je dois supprimer) de ma liste. J'utilise une "list" et un itérateur pour la parcourir. J'ai essayé avec les fonctions erase(iterateur) ou remove() mais les deux ne marchent pas. La fonction erase() marche lors de la compilation mais au moment de l'exécution j'ai un segmentation fault. Mon code marche très bien si je ne supprime pas les éléments mais ce n'est pas très propre.

Voilà mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
typedef list<Personne> List;
List liste;
 
// ...
 
for (List::iterator iterateur = liste.begin(); iterateur != liste.end(); iterateur++){
	Personne personne = *iterateur;
 
	if (...){
		// Enlève la personne de la liste.
		liste.erase(iterateur);
		ou 
		liste.remove(personne);
	}
}
Merci si quelqu'un à une idée