double f(double x, double y, int i, char* title) { ... } double g(double x, double y, int i, char* title) { ... } double h(double x, double y, int i, char* title) { ... } double (*F) (double, double, int, char*) // Typ einer entspr. Funktion = f; void plot(int min, int max, double (*funk) (double, double, int, char*)) { // .... funk(x, y, i, "Titel"); // kanonischer Aufruf der uebergebenen Funktion (*funk) (x, y, i, "Titel"); // aequivalente Schreibweise plot(F); // zeichnet f; plot(f); // zeichnet auch f; plot(g); // zeichnet g;Dabei muß sowohl die Parameterliste als auch der Rückgabewert der entpsrechenden Funktionen exakt übereinstimmen.