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 :

Erreur 'which is of non-class type' ?


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 48
    Points : 36
    Points
    36
    Par défaut Erreur 'which is of non-class type' ?
    Bonsoir a tous,

    une âme charitable pourrait elle éclairer ma lanterne sur le message d'erreur qui gache la création de la top classe que je tente de mettre en place :

    error: request for member `draw' in `skull', which is of non-class type `Actor*'|
    le truc que je ne comprends pas, c'est :
    which is of non-class type
    en francais courant ca dit quoi?
    que j'essaie de régler le problème par le bon bout...

    merci d'avance

  2. #2
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    en gros tu as fait appelle à une méthode qui n'existe pas dans la classe Actor
    Hiko-seijuro

    n'cha - hoyoyo gang

    espace perso : http://hiko-seijuro.developpez.com
    dernier tuto : Introduction à l'éditeur de texte Emacs sous linux
    consulter les faqs : http://www.developpez.com/faq
    PAS DE QUESTIONS TECHNIQUES PAR MP OU MAIL

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 48
    Points : 36
    Points
    36
    Par défaut
    Piges pô !
    je dévelope un chouia ma classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    class Actor
    {
        protected:
        BITMAP* m_pBitmap;
        //RECT m_rcPosition;
        public:
            Sprite(const char* chBitmap);
            virtual ~Sprite();
        private:
    };
     
    Actor::Actor( const char * chBitmap)
    { //ctor
       m_pBitmap = load_bitmap(chBitmap , NULL) ;
    }
    Actor::~Actor()
    {
        //dtor
     
    }
    avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Actor* skull = new Actor("skull.bmp");
    j'ai l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error: request for member `m_pBitmap' in `skull', which is of non-class type `Actor*'|
    sur :
    alors que la complétion auto me propose m_pBitmap apres skull.

    la, pige pô

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    C'est normal, tu définies un constructeur et il est pas déclaré dans da classe ? (idem pour le destructeur)
    Par contre, il y a un constructeur et un destructeur qui s'appellent Sprite(const char* chBitmap) et ~Sprite()

    Un effet de l'abus de sprite justement ?
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 48
    Points : 36
    Points
    36
    Par défaut

    bois jamais de sprite !,
    c'est juste une erreur de copie/colle
    au lieu de Sprite, il faut bel et bien lire Actor, d'ou mon probleme

  6. #6
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    euh m_pBitmap est protected -> inaccessible sauf par une sous classe ou la classe elle meme...

    et en plus si ca avait été public tu aurais du mettre

    Hiko-seijuro

    n'cha - hoyoyo gang

    espace perso : http://hiko-seijuro.developpez.com
    dernier tuto : Introduction à l'éditeur de texte Emacs sous linux
    consulter les faqs : http://www.developpez.com/faq
    PAS DE QUESTIONS TECHNIQUES PAR MP OU MAIL

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 48
    Points : 36
    Points
    36
    Par défaut



    merci mille fois

    pas commode le c++

  8. #8
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    L'erreur dit que tu fais appel a une methode sur un objet qui n'est pas une instance de classe.
    En effet, il s'agit d'un pointeur.
    Boost ftw

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 25/02/2013, 16h18
  2. Réponses: 2
    Dernier message: 17/02/2013, 20h59
  3. Réponses: 29
    Dernier message: 23/08/2010, 09h24
  4. template "non-class type"
    Par varfendell dans le forum Langage
    Réponses: 20
    Dernier message: 22/06/2010, 03h30
  5. Problème:Erreur 'which is of non-class type
    Par abzal dans le forum Débuter
    Réponses: 9
    Dernier message: 28/11/2008, 15h54

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