J'essaye de créer une fonction dans VC++ qui prend un pointeur de fonction mais je continue d'obtenir des erreurs de syntaxe.C++ Fonction Pointer Syntaxe
La déclaration dans mon dossier d'en-tête ressemble à ceci:
void ApplyFuncToCellsInSelection(void(*func)(CPoint, *CSpreadWnd));
Voici la définition:
void CSpreadWnd::ApplyFuncToCellsInSelection(void(*func)(CPoint, *CSpreadWnd)) { ... }
Et voici les messages d'erreur que je reçois:
c:\...\spreadwnd.h(274) : error C2059: syntax error : 'function-style cast'
c:\...\spreadwnd.h(274) : error C2059: syntax error : ')'
c:\...\spreadwnd.h(274) : error C2143: syntax error : missing ')' before ';'
Je sais que c'est probablement quelque chose de vraiment simple qui me manque mais je n'arrive pas à le comprendre.
Vous devriez probablement envisager d'utiliser la fonction boost :: ou std :: fonction, si l'est à votre disposition. Ils sont beaucoup plus faciles à utiliser et à lire. –