Clonk
Messages postés278Date d'inscriptionmardi 22 janvier 2002StatutMembreDernière intervention29 août 2006
-
14 nov. 2004 à 02:08
Clonk
Messages postés278Date d'inscriptionmardi 22 janvier 2002StatutMembreDernière intervention29 août 2006
-
14 nov. 2004 à 11:11
Bonjour,
Voilà mon problème, j'utilise un vector pour gérer des aretes d'une figure géométrique, à un moment, je veux supprimer certains éléments dans mon vector, je C pas si C la bonne méthode (C meme surement pas la bonne, mais G trouvé que ça tout seul):
L_A.erase(&L_A[j]);
(évidemment, j est le niveau ou se trouve l'élément de L_A à supprimer)
ça marche tout le temps SAUF pour le dernier élément...
Y a-t-il un moyen d'y remédier? Lequel? Merci!
A voir également:
Erase c++
Supprimer un element d'un vector c++ - Meilleures réponses
plus_plus_fab
Messages postés232Date d'inscriptionvendredi 9 janvier 2004StatutMembreDernière intervention 8 janvier 2005 14 nov. 2004 à 02:59
salut,
erase pour vector, c'est mauvais algoritmiquement parlant. Utilise list à la place.
Par contre operator[ ] n'existe pas pour list, il faut utiliser un iterator de list ...
la bonne solution dépend de ton algorithme, comme souvent.
pour le dernier élément, je ne vois pas pourquoi ça ne fonctionne pas, mais de toute façon, il faut utiliser pop_back() pour oter le dernier élément.
Clonk
Messages postés278Date d'inscriptionmardi 22 janvier 2002StatutMembreDernière intervention29 août 2006 14 nov. 2004 à 11:11
Oui, je connais pop_back, mais ce n'est pas ce que je veux.
Voilà ce que je veux faire:
je gère des segments, je veux vérifier si deux segments se coupent, si c'est le cas, je supprimer les deux segments du vector, et j'en rajoute 4 nouveaux.