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