je utiliser un plugin qui définit un dispositif de réglage de rappel comme ceci:erreur C2440: 'type cast': ne peut pas convertir les 'fonctions de surcharge' à 'vide (__cdecl *) (void)'
extern "C" __declspec(dllexport) void set_callback(void (*fn)(void));
et classe appelant plug-in écrit en C++ géré, qui fait référence au rappel:
typedef void (CALLBACK* _set_callback)(void (*fnc)(void));
public ref class Caller {
static void changeHandler(void);
}
void Caller::register() {
_set_callback callback;
callback((void (__cdecl *)(void))changeHandler);
}
Tout fonctionne bien jusqu'à ce que changeHandler(void)
est définie comme méthode statique. Comment le changer pour fonctionner avec une méthode non statique?
L'échantillon que j'ai donné dans la question fonctionne - je veux juste me débarrasser du modificateur 'static'. – peo
@peo: Malheureusement, cela ne fonctionnera pas avec votre configuration actuelle. – casablanca