Salu tt le monde

j'ai un probleme avec cette methode :
[balise ajouté par mongaulois]
Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void Labyrinthe::leCombat(Chambre *chr)
{
	multimap<occupant,Occupant*>::iterator iter;
	iter=chr->getPerso()->begin();
	while (iter!=chr->getPerso()->end())
	{
		if(iter->first!=hero)
		{
		  	if(hiro->combattre(iter->second,iter->first))
				//delete iter->second;
				chr->getPerso()->erase(iter);
		}
		iter++;
	}
 
}

ca compile parfaitement mais je reçois une erreur d'execution liée a erase lorsque je change erase par delete ca marche parfaitement le 1er coup et au 2eme passage ca coince on dirait que l'iterateur passe par l'objet supprimé.

PS : la methode combattre retourne une valeur booleenne