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 :

probleme avec std::list


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 48
    Par défaut probleme avec std::list
    Bonjour,
    avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ...
    std::list<Actor*> ActAffich;
    std::list<Actor*>::iterator it;
    ...
    void draw(){
        for (it = ActAffich.begin(); it != ActAffich.end(); ++it)
        {
            if (it->GiType() == 0){
    ...
    ca me dis des méchancetés à la compil :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error: request for member `GiType' in `*(&it)->std::_List_iterator<_Tp>::operator-> [with _Tp = Actor*]()', which is of non-class type `Actor*'|
    alors que GiType() est bien défini dans la classe actor et me renvois 0 ou 1.

    comme de bien entendu, je piges pô !

    peut etre une âme charitable a t'elle une idée sur la question ?
    merci d'avance

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Août 2007
    Messages : 190
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ...
    std::list<Actor*> ActAffich;
    std::list<Actor*>::iterator it;
    ...
    void draw(){
        for (it = ActAffich.begin(); it != ActAffich.end(); ++it)
        {
            if ((*it)->GiType() == 0){
    ...

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    pour std::list<T>::iterator it;
    it-> te renvoie un T* alors que *it te renvoie un T&.
    Donc, dans ton cas: std::list<Actor*>, it-> te renvoie un Actor** et *it te renvoie un Actor*&. C'est donc que tu as besoin de déréférencer 2 fois:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    (*it)->GiType();
    // ou
    (**it).GiType();
    P.S.: la manipulation des pointeurs est souvent sources de problème dans les développements. En as-tu vraiment besoin dans ton conteneur? Sinon, pourquoi ne pas utiliser des pointeurs intelligents ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 48
    Par défaut
    merci bcp,
    CA MARCHE !!!!!!!!
    mon pb est maintenant ailleur
    mais je vais chercher un peu.

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

Discussions similaires

  1. Probleme de compilation avec std::list
    Par drcd dans le forum MFC
    Réponses: 3
    Dernier message: 10/07/2006, 21h28
  2. Problem avec std::vector
    Par boiteweb dans le forum SL & STL
    Réponses: 5
    Dernier message: 29/04/2006, 12h56
  3. [MySQL] Problème avec une liste déroulante
    Par leloup84 dans le forum SQL Procédural
    Réponses: 19
    Dernier message: 24/01/2006, 12h57
  4. probleme avec zone liste modifiable en mode continu
    Par hellosct1 dans le forum Access
    Réponses: 3
    Dernier message: 16/11/2005, 13h47
  5. [langage] probleme avec les listes dans des listes
    Par pqmoltonel dans le forum Langage
    Réponses: 7
    Dernier message: 27/04/2004, 12h32

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