Ich habe ein Plugin, das einen Rückruf Setter wie folgt definiert:Fehler C2440: 'type cast': Konvertierung von 'überlastet-Funktion' auf 'void (__cdecl *) (void)'
extern "C" __declspec(dllexport) void set_callback(void (*fn)(void));
und Plugin Anrufer Klasse in Managed C++ geschrieben, die an die Callback bezieht:
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);
}
Alles gut, bis changeHandler(void)
arbeitet als statische Methode definiert. Wie man es ändert, um mit nicht-statischer Methode zu arbeiten?
Die Probe, die ich in der Frage gab, funktioniert - ich möchte nur den 'statischen' Modifikator loswerden. – peo
@peo: Leider funktioniert das nicht mit Ihrem aktuellen Setup. – casablanca