Bonjour
j'ai un bug que je ne comprends pas, voici le code :
je compile sous linux avec GCC4.1 -> ca plante : l'iterator continue même s'il est en dehors de la map (donc bug sur le delete)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 for (std::map<int, SchedTask*>::iterator i = handlers.begin(); i != handlers.end(); ++i) { handlers.erase(i->second->id); delete i->second; }
je compile avec VS 2005 -> ca marche.
et il me semble que chez un collègue ca marchait il y a qq mois (sous linux GCC3.X)
Est ce que qq trouve ca normale?
Est ce que qq a une idée a pour résoudre ce probleme?
merci a bientot
Partager