Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1318 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  problème avec itérator c++

 

Sujet(s) à lire :
 

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème avec itérator c++

n°1970077
caroline23​33
Posté le 01-03-2010 à 01:47:55  profilanswer
 

Bonjour,  
j'ai un problème avec une fonction qui a pour objectif de supprimer un élement d'un vecteur en fait j'ai un vecteur de classe economie  
les attributs de la classe economie sont de contrats et un double (contrats c'est une classe qui a une cle) le code de la fonction est le suivant  
void Delet(int P,int Q,vector<economie>&Slist)
{ vector<economie>::iterator vItr = Slist.begin();
     while ( vItr != Slist.end() )
            {if ( vItr->mFirst.cle == P && vItr->mSecond.cle == Q )
                 {vItr = Slist.erase( vItr );
                             break;
                 }
 
             else vItr++;
            }
 }
 
les entiers P et Q sont les clés des deux contrats donc la fonction va vérifier si les deux clés existent et va localiser puis supprimer l,element mais ma lheurseument quand je teste ma fonction je vois qu'elle n'a aucun effet  
Merci de m'aider. j,ai cherché sur internet une réponse à  mon problème je vois parfois les itérateurs deviennent invalide mais je ne vois pas comment de les rendre valides merci

mood
Publicité
Posté le 01-03-2010 à 01:47:55  profilanswer
 

n°1970082
Joel F
Real men use unique_ptr
Posté le 01-03-2010 à 07:09:11  profilanswer
 

tu sais qu'il existe std::find qui t'eviteras d'ecrire un while moche.
tu std::fidn et tu erase l'iterateur qui t'es renvoyé

n°1970204
caroline23​33
Posté le 01-03-2010 à 15:23:41  profilanswer
 

Merci de ta réponse mais j'ai résolu mon problème c'était le test que je fais qui ne marche pas car je luis donne des un P invalide comme delete(0,1) alors que P varie entre 1 et 3 c'est juste à cause de moi je voulais que les contrats ont une clé comme les vecteurs commencent à 0 mais j'ai oublié de lui mentionner ça en tout cas j'ai perdu 3 jours à m,arracher les cheveux mais c,est comme ça je vais progresser .
bonne journée

n°1970215
ptitchep
Posté le 01-03-2010 à 15:46:42  profilanswer
 

Si tu veux progresser, écoute Joel F!
Ton truc s'écrit en 2 lignes de vrai C++.


---------------
deluser --remove-home ptitchep

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  problème avec itérator c++

 

Sujets relatifs
besoin d'un coup de main pour affichage foireux dans IE6Probleme export d'un gridview en .csv
Problème jQuery-history et jQueryProblème avec plugin Easy Slider
Problème avec bloc et balise <h2>problème de requête SQL simple
Probleme lors de l installation de MySQL Server 4.1Problème PyQt avec un QVariant - Python 2.5, Qt 4.4.1, PyQt 4.4.3
problème avec les std iteratorProblème avec les Vectors ( return ((vector<_Key>::iterator)NULL;)
Plus de sujets relatifs à : problème avec itérator c++


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR