CEDEDF:
error C2059: syntax error : '('
3 Réponses :
Un pointeur de fonction doit avoir des informations sur la convention d'appel utilisée par la fonction. Si vous souhaitez désigner une fonction qui utilise la convention d'appel __CDecl, vous devez utiliser un pointeur de fonction __cdecl. Si vous souhaitez désigner une fonction qui utilise la convention d'appel __STDCAll, vous devez utiliser un pointeur de fonction __STDCAll. P>
J'espère que cela aide. P>
Je crois que sur VC ++, vous devez mettre la convention appelante à l'intérieur du () 's Voici un Exemple sur MSDN d'utilisation d'une convention appelante à l'intérieur d'un pointeur de fonction Typedf.
typedef DWORD (WINAPI * CM_Open_DevNode_Key)(DWORD, DWORD, DWORD, DWORD, PHKEY, DWORD);
Note latérale: je crois que la signature de la fonction Typeedfs devrait jamais em> être exprimée comme Si vous aviez défini cm_open_devnode_key à être non-pointeur, toute déclaration d'en-tête d'une fonction qui doit suivre cette signature de rappel aurait pu simplement avoir été écrite comme p>
cm_open_devnode_key myfunc; p>
plutôt que d'une erreur trop verbeuse / DODWOR WINAPI myFuncC (DWORD, DWORD, DWORD, DWORD, FLCEKE, DWORD); P>
Ceci permettrait à un code beaucoup plus simple et à une correspondance beaucoup plus spécifique des signatures de fonction, si nécessaire. P>
")). P>