Bonjour, je souhaite supprimer d'un vector tous les éléments nuls. J'ai donc fait ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
  vector<double>::iterator it = v.begin();
  while(it != v.end())
  {
	if(fabs(*it) < 1e-10) // on supprime tous les 0
		v.erase(it);
	else
		it++;
  }
Arrivé au 1e zéro, la suppression est correctement effectuée, mais lorsqu'on passe à l'itération d'après, il crash au test while(it != v.end())


Pourqouoi est-ce que v.end() n'est pas réévaluer à chaque passage ? Comment faire ?

Merci d'avance