CeNedra83
Messages postés96Date d'inscriptionlundi 20 novembre 2000StatutMembreDernière intervention11 juillet 2006
-
31 mars 2006 à 15:39
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 2008
-
31 mars 2006 à 17:03
je dispose d'un vecteur de 24 doubles.
je voudrais supprimer le premier element, puis les afficher.
l'affichage se fait bien, mais juste après le programme plante "out of range"
je ne vois pas ce qui cloche!!!!
si j'enlève la commande supprimant le premier element, tout vas bien.
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
BunoCS
Messages postés15426Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention28 novembre 2023102 31 mars 2006 à 16:02
Attention!
y_values.begin() retourne un itérateur sur le 1er élément, et non son index
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
CeNedra83
Messages postés96Date d'inscriptionlundi 20 novembre 2000StatutMembreDernière intervention11 juillet 2006 31 mars 2006 à 16:05
ça ne marche pas.
je vais voir avec autre chose, les listes peut être, car quand j'aurai des elements à supprimer au milier, ça risque d'etre le bordel.
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
BunoCS
Messages postés15426Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention28 novembre 2023102 31 mars 2006 à 16:24
Mon exemple ne fonctionne pas!? De quel type est ton vecteur? Peux-tu poster un bout de code?
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
BunoCS
Messages postés15426Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention28 novembre 2023102 31 mars 2006 à 16:34
*Iter te donne directement l'élément du vecteur
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 31 mars 2006 à 17:03
Bas oui, et surtout c'est fait pour ca, si tu as bcp d'éléments a supprimer.
int suppr = 10;
int count = 0;
for (std::list<ton_type>::iterator it = _list.begin(); it != _list.end(); it++, count++)
{
if (count == suppr)
{
it = _list.erase(it); // _it devient l'élement suivant
}
}
Donc ca, ca ne marche que si tu dois supprimer une seule valeur. Enfin
faut se méfier avec l'itérateur renvoyé par erase. Comme c'est
l'élément suivant, le it++ du for va encore se déplacer dans l'élement
suivant. Donc on saute certaine valeur de la liste quand on supprime un
élement.