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 de methode


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Femme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2011
    Messages
    266
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 35
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : F�vrier 2011
    Messages : 266
    Par d�faut Pointeur de methode
    Bonjour,
    je souhaiterais utiliser les pointeurs de methodes. J'ai donc suivi un tuto, mais l� je n'arrive pas a faire compil� mon code.

    voici mon code :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class Propriete
    {
    protected : 
        AbstractItem *pItem; 
        void (* pOnChange) (void) ;
    public:
            Propriete();
            ...
            void SetValue(QString val);
     
    }
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    #define appelleFonctionMembre(objet,pointeur)  (objet->*pointeur)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    void Propriete::SetValue(QString val)
    {
         if ( pOnChange== NULL)
                 return;
            //(pItem->*pOnChange)(val);
            appelleFonctionMembre(pItem,pOnChange)(); //<<<<<<<fonction ciblé par l'erreur de compilation
     
    }
    mais je re�oit immanquablement cette erreur de compilation :
    propriete.cpp:101: erreur : C2297: '->*'�: non conforme, l'op�rande droit est du type 'void (__cdecl *)(void)'
    je ne vois vraiment pas quelle est mon erreur, pourriez vous m'aider s'il vous plait?

    Merci d'avance.

  2. #2
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    Salut,

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    void (* pOnChange) (void) ;
    Tu as d�clar� un pointeur vers une m�thode qui ne prend aucun param�tre. Cette m�thode n'est pas non plus membre d'aucune classe.

    Pour un pointeur vers une m�thode membre il faut le sp�cifier
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    void (CLASS::*pOnChange) (void) ;
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  3. #3
    Membre �clair�
    Femme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2011
    Messages
    266
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 35
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : F�vrier 2011
    Messages : 266
    Par d�faut
    nickel bah c'�tait �a . Je te remercie beaucoup

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    D�cembre 2010
    Messages
    734
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2010
    Messages : 734
    Par d�faut
    Bonjour!
    En passant: tr�s souvent il y a d'autres solution que les pointeurs de fonctions en C++

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [D�butant] Methode generique et pointeurs en c#
    Par cliclik97160 dans le forum C#
    R�ponses: 5
    Dernier message: 29/04/2014, 10h18
  2. R�ponses: 3
    Dernier message: 11/08/2011, 09h39
  3. pointeur de methode vers pointeur de fonction
    Par yvesall dans le forum GTK+
    R�ponses: 1
    Dernier message: 19/11/2008, 17h23
  4. R�ponses: 12
    Dernier message: 30/06/2006, 16h46
  5. Pointeur sur une methode d'une classe
    Par Pe04 dans le forum C++
    R�ponses: 2
    Dernier message: 02/03/2006, 13h29

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