Ich habe eine Klasse X, die diese Methode hat:
void setRxHandler(void (*h)(int));
Und ich möchte ihr eine Memeber-Funktion übergeben, die in Instanzen der Klasse Y existiert.
void comm_rxHandler(int status);
Ich habe folgendes versucht:
x.setRxHandler(comm_rxHandler)
Aber ich bekomme den folgenden Kompilierungsfehler (Ich benutze Qt):
Fehler: keine übereinstimmende Funktion für den Aufruf von ‘X::setRxHandler()’
Also, wie kann ich das machen?
Ich habe festgestellt, dass wenn ich comm_rxHandler (Klasse Y) als statisch deklariere, ich keine Fehler habe. Aber ich möchte comm_rxHandler als nicht-statische Methode haben. Außerdem möchte ich, dass die setRxHandler-Methode (Klasse X) generisch ist und nicht klassenspezifisch. Also kann ich die Methode nicht wie folgt deklarieren:
setRxHandler(void (Y::*h)(int))
Wie kann ich das machen? Können Sie mir dabei helfen?
Danke!