Salut à tous , j´ai un probleme de syntaxe là :
En gros , j´ai une classe CBouton , qui a pour methode ( entre autre ) :
void SetCallBack( void ( *fonction)() ) ;
c une fonction qui prend en parametre un pointeur de fonction , et qui le copie , de maniere à ce que je puisse appeler cette fonction quand je veux ( ça l´enregistre dans la classe en gros )
Avec des fonctions ´normales´ , ça marche bien , mais je voudrais faire la meme chose avec une methode ( fct membre d´une classe ) :
en gros j´ai une classe ´CDialogBox´ , qui possede entre autre une fonction ´void Next();´ , et qui cree un objet CBouton ´next´ , à qui je voudrais donner comme fonction callback la fonction Next();
j´ai trouve un tutorial la dessus , mais ça ne marche pas :|
http://www.developpez.com/c/megacours/x3718.html
mon code :
typedef void ( CDialogBox::* pf)(void);
pf p1=&::Next;
next->SetCallBack( p1 ) ;
en erreur , il dit :
no matching function for call to `CBouton::SetCallBack( void ( CDialogBox::*&)())´
candidates are: void CBouton::SetCallBack(void ( *)())
Si vous voyez d´ou viens le probleme . .. MERCI beaucoup