Bonjour, je souhaite supprimer d'un vector tous les éléments nuls. J'ai donc fait ceci :
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())
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++; }
Pourqouoi est-ce que v.end() n'est pas réévaluer à chaque passage ? Comment faire ?
Merci d'avance
Partager