Funktionszeiger auf Memberfunktionen?
-
Gibt es eine Möglichkeit, Funktionszeiger auf Memberfunktionen zu erstellen. Ich muss aus einer Klasse heraus einer Funktion einen Zeiger auf eine Handler-Funktion übergeben (für ein Trigger-System). Wenn ich dabei aber einen Zeiger auf eine Memberfunktion der Klasse übergebe, beschwert sich der Compiler, dass er keine solche Funktion im Gültigkeitsbereich findet.
Weiß jemand, wie ich das umgehen kann?
Mfg, smasher1985
-
ja
http://burks.brighton.ac.uk/burks/language/cpp/cppfaq/pointers-to-members.html
Du brauchst aber immer noch ein Objekt, für das die Member-Funktion aufgerufen wird.
-
Kannst du das Interface der Funktion, die den Handler animmt, verändern? Wenn ja, bietet sich für Callbacks boost::function statt eines rohen Funktionszeigers an (www.boost.org), über boost::mem_fn oder boost::bind kannst du dann ein entsprechendes Callback übergeben.