IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Pointeur vers un élément d'une liste STL


Sujet :

C++

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2008
    Messages : 308
    Par défaut Pointeur vers un élément d'une liste STL
    Salut,

    j'ai des soucis avec STL, j'ai une liste d'objet Avatar:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list<Avatar> avatars_list;
    et j'essaye de récupérer un pointeur vers un élément de cette liste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Avatar* Items::get_avatar(int _id){
     
         //on cherche le joueur
         for(std::list<Avatar>::iterator iter = avatars_list.begin(); iter != avatars_list.end(); ++iter ){
            if(iter->get_id()==_id){return (Avatar*) iter;}
         }
     
         //sinon on retourne NULL
         return NULL;
     
    }
    et voici l'erreur du compilateur:
    cannot convert `iter' from type `std::_List_iterator<Avatar>' to type `Avatar*'
    il me semblais pourtant qu'un iterator était équivalent a un pointeur ?

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2008
    Messages : 308
    Par défaut
    après quelques recherches, j'ai trouvé la solution, désolé pour le dérangement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Avatar* Items::get_avatar(int _id){
     
         //on cherche le joueur
         for(std::list<Avatar>::iterator iter = avatars_list.begin(); iter != avatars_list.end(); ++iter ){
            if(iter->get_id()==_id){return (Avatar*)&*iter;}
         }
     
         //sinon on retourne NULL
         return NULL;
     
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 12
    Dernier message: 06/08/2008, 14h39
  2. Réponses: 5
    Dernier message: 12/03/2008, 18h16
  3. Pointeur sur un élément d'une liste
    Par azerty25 dans le forum Général Python
    Réponses: 3
    Dernier message: 18/11/2007, 12h44
  4. Réponses: 12
    Dernier message: 12/03/2007, 16h58
  5. Basuler un élément d'une liste vers une autre liste
    Par Daniel MOREAU dans le forum Access
    Réponses: 1
    Dernier message: 13/04/2006, 22h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo