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)
mais je reçoit immanquablement cette erreur de compilation :
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 }
je ne vois vraiment pas quelle est mon erreur, pourriez vous m'aider s'il vous plait?propriete.cpp:101: erreur : C2297: '->*'ÿ: non conforme, l'op‚rande droit est du type 'void (__cdecl *)(void)'
Merci d'avance.
Partager