begin process at 2012 05 30 05:26:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

vector et erase => mais pourquoi ca veut pas marcher !?!?!?!?!?!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

vector et erase => mais pourquoi ca veut pas marcher !?!?!?!?!?!

jeudi 26 mai 2005 à 19:41:21 | vector et erase => mais pourquoi ca veut pas marcher !?!?!?!?!?!

sheorogath

Membre Club Administrateur CodeS-SourceS

bjr a tous
j'ai un petit probleme avec les vector:

je declare un vector en variable globale de type que g moi meme defini
et les element sont ajouter dynamiquement et je voudrai proposer une fonction pour supprimer un element au choix donc g ecris ma fonction comme ceci :

void supprime(){
          //listage du vecteur
     for(int i = 0;i<stock.size();i++)
     cout<<i<<stock[i].getName()<<" "<<stock[i].getReserve()<<"\n";
     //on supprime quel element ?
     cout<<"suprimer quel element ?\n";
     int suppression;
     cin>>suppression;
     //on enleve ce qui pourrai rester
     string garbage;
     getline(cin,garbage);
     // et on supprime

     stock.erase(suppression); //=> declenche une erreur
     };

erreur sous :
-----vc++ : main.cpp(46) : error C2664: 'class Produit *__thiscall std::vector<class Produit,class std::allocator<class Produit> >::erase(class Produit *)' : cannot convert parameter 1 from 'int' to 'class Produi
t *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
produit.cpp

------ dev-cpp :  no matching function for call to `std::vector<Produit, std::allocator<Produit> >::erase(Produit&)'

avez vous une idee de comment resoudre mon probleme ?
merci
"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"

jeudi 26 mai 2005 à 20:37:47 | Re : vector et erase => mais pourquoi ca veut pas marcher !?!?!?!?!?!

Kaid

On passe à la méthode erase() un itérateur sur l'élément que l'on veut effacer.

Kaid - kaid.fr.st
jeudi 26 mai 2005 à 21:05:59 | Re : vector et erase => mais pourquoi ca veut pas marcher !?!?!?!?!?!

steve_clamage

Réponse acceptée !
stock.erase( stock.begin() + suppression ); // a voir si ca compile
Il est impératif de récupèrer la valeur (iterator) retour de .erase() car les iterateurs relatifs en amont sont invalidés.
jeudi 26 mai 2005 à 21:21:24 | Re : vector et erase => mais pourquoi ca veut pas marcher !?!?!?!?!?!

sheorogath

Membre Club Administrateur CodeS-SourceS
ca marche merci bcp
mais g pas compri ce qui etait imperatif (je debute en c++)

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
jeudi 26 mai 2005 à 21:29:09 | Re : vector et erase => mais pourquoi ca veut pas marcher !?!?!?!?!?!

steve_clamage

Réponse acceptée !
Dans ton cas ce n'est pas nécéssaire, en gros quand tu supprimes un élément dans un vector les élément suivant sont décalé "d'une case" en arriere.
vendredi 27 mai 2005 à 18:47:34 | Re : vector et erase => mais pourquoi ca veut pas marcher !?!?!?!?!?!

sheorogath

Membre Club Administrateur CodeS-SourceS
a ok faire une sorte de raffraichissement pour eviter une erreur a cause d'un iterateur qui pointe un mauvais element ?

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
lundi 26 avril 2010 à 14:40:28 | Re : vector et erase => mais pourquoi ca veut pas marcher !?!?!?!?!?!

Nylom


Bonjour,

J'ai un peu le même problème, j'utilise un vecteur de string (vector<string>) et je veux éffacer les éléments de mon vecteur. Donc je fait mon_vecteur.erase(mon_vecteur.begin(), mon_vecteur.end()) je n'ai pas de problème de compilation mais à l'exécution je vois que les éléments qui devraient être supprimer ne le sont pas.

Quelqu'un peut m'aider?


Cette discussion est classée dans : type, element, vector, produit, erase


Répondre à ce message

Sujets en rapport avec ce message

Vector Erase : problème [ par Clonk ] 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 Code pour connaitre le type d'un element inséré dans une variable [ par bioshell ] J'ai un TP de C pur a faire qui consiste en une calculatrice dans l'environnement DOS. Je veux que mon code soit beton alors j'aimerais pouvoir savoir Vector de plusieurs types [ par nisaloncaje ] Bonjour, j'aimerais créer un tableau de type vector, mais que ce tableau puisse contenir plusieurs type d'objets mais qui héritent tous d'une meme cla Déclaration d'un type.. [ par miximog ] Bonjour je voudrai savoir si il était possible de faire un chose de ce genre : typedef struct typelement { element *d;//Pointeur de droite el structure [ par lektrosonic ] Bojour,j'ai cree cette structure:typedef struct element element;struct element{    SOCKET socket;    unsigned int con_type;    int index;    BOOL conn Méthodes de la classe vector en C++ [ par Rom1PL ] Bonjour,J'aurais deux petites questions au sujet des méthodes de la classe vector en C++.1) J'utilise la fonction erase pour supprimer un élément de m aide pour un mini projet [ par IMFM ] salut, dans le cadre de mes etudes j'ai un projet d'une entreprise qui se lance dans la vente des materiels Type 1 : Informatiques Type 2 : Électrique fonction random sur le type double de 1.0 jusqu'a double last [ par tajushile ] Bonjour j'ai besoin de créer une fonction pour générer aléatoirement des valeur du type double: j'ai fais le bout de code suivant: --------------- exercices à résoudre [ par jomsow ] bonjour je suis débutant en C svp aidez moi à résoudre ces deux exercices : Exercice 1: Modifier le programme suivant de telle sorte qu’il affiche ? Variable de type string [ par enoitnaillal ] Bonjour, Comment remplacer le contenu d’une variable de type string par le contenu d’une autre variable de même type ?


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,045 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales