Darstellen eines Funktionszeigers auf einen anderen Typ

Sagen wir mal ich habe eine Funktion akzeptiert eine void (*)(void*) Funktion Zeiger für die Verwendung als callback:

void do_stuff(void (*callback_fp)(void*), void* callback_arg);

Nun, wenn ich eine Funktion wie diese:

void my_callback_function(struct my_struct* arg);

Kann ich dies sicher?

do_stuff((void (*)(void*)) &my_callback_function, NULL);

Habe ich mir angeschaut diese Frage und ich habe einige C-Normen, die sagen, Sie können eine Umwandlung in kompatible Funktion Zeiger', aber ich kann nicht finden, eine definition, was "kompatibel Funktionszeiger' bedeutet.

InformationsquelleAutor der Frage Mike Weller | 2009-02-18

Schreibe einen Kommentar