Wie übergebe ich eine Methode als Rückruf an eine andere Klasse?
Ich habe eine Frage zu Rückrufen mit der Funktion tr1 ::. Ich habe folgendes definiert:
class SomeClass {
public:
typedef std::tr1::function<void(unsigned char*, int)> Callback;
void registerCallback(Callback);
private:
Callback callback;
}
Ich habe eine andere Klasse definiert:
class SomeOtherClass {
void myCallback(unsigned char*, int);
}
Jetzt möchte ich meine Funktion 'myCallback' mit der Methode 'registerCallback' als Callback in der Klasse 'SomeClass' registrieren. Es funktioniert jedoch nicht. Ich habe mir die Boost-Dokumentation zur Funktion angesehen und es scheint legitim, (Member-) Methoden einer Klasse für Rückrufe zu verwenden. Liege ich falsch?
Danke im Voraus!