Wolfgang schrieb:
> Aber warum dann nicht so:
>
> funktionsname(var, funktionsname());
Weil das die zweite Funktion ausführen würde (durch das Klammerpaar)
und den Rückkehrwert übergeben. Es soll aber die Adresse der
Funktion selbst übergeben werden.
> Steh da auf der Leitung die Funktion besitz ja keinen rückgabewert
> welchen man weiter übergeben könnte.
Der ist ja dafür auch nicht interessant.
> Was ist der Sinn des ganzen?
Was der Sinn in deinem Zusammenhang ist, musst du dem Rest deiner
Software entnehmen.
Eine typische Problemstellung, für die man Funktionszeiger vorteilhaft
anwenden kann, ist ein Sortieralgorithmus, bspw. quicksort() aus der
C-Standardbibliothek. Dem übergibt man einerseits einen Vektor aus
Elementen, die es zu sortieren gibt. Andererseits muss die
Implementierung, wenn man sie für beliebige Datentypen benutzen können
will, die jeweiligen Elemente miteinander vergleichen können. Damit
man das möglichst flexibel machen kann, codiert man den Vergleich
nicht in der Sortierfunktion selbst, sondern die Sortierfunktion lässt
sich eine Funktion übergeben (in Form eines Funktionszeigers), die
sie dann aufrufen kann, um zwei Elemente vergleichen zu lassen.
p.s. Karl heinz war schneller...