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.