Zeiger auf Funktion?
-
Hallo,
bin noch recht neu, was C++ angeht. Habe vorher nur mit C gecodet. Dort sind mir Zeiger auf Funktionen geläufig.
double (*eps)(int); // ... double eps_cooldown(int t) { return eps0*(1.0/(double)t); } // ... eps=eps_cooldown;Ähnliches habe ich eben mit C++ versucht, allerdings soll eps dabei private Variable einer Klasse sein und eps_cooldown eine public Funktion derselben Klasse. Die Zuweisung eps=... bringt mir dann folgenden Fehler ein:
error: argument of type 'double (nfnet2::Nfnet2:: )(int)' does not match 'double (*)(int)'
Was läuft hier schief? (Hat es etwas damit zu tun, dass Instanzen der Klasse erst zur Laufzeit angelegt werden und dann erst Zeiger vergeben werden können?)
Habe schon versucht, über Google etwas zu finden. Dabei fehlt mir jedoch leider das Schlagwort für die Funktion (Klassenmethode?).
Wie kann ich das Problem lösen?
Im Endeffekt möchte ich einen festen Programmcode haben, der mit Auswertungen von der Funktion, auf die eps zeigt, arbeitet. (Dafür stehen mehrere Funktionen zur Auswahl, die von Anwendung zu Anwendung - bei verschiedenen Instanzen der Klasse - verschieden benötigt werden.)Vielen Dank im Voraus!
nachtschatten
-
-
Danke! (An die FAQ hab ich gar nicht gedacht...
Sorry.)Grüße,
nachtschatten