Zitat Zitat von drunken monkey Beitrag anzeigen
Was macht die folgende Zeile C-Code?
(* ( void(*)() ) 11) ();
Er deklamiert etwas: Eine Funktion ohne Parameter.

(* [...] 11) ();

Die Funktion ist ein pointer auf eine Funktion namens 11.

( void(*)() )

Das waehre der Rueckgabe-Typ der Funktion 11. void(*)() muesste ein Pointer auf eine beliebige Funktion ohne Parameter sein.

Also muesste dein Code eine neue Funktion deklamieren, die als Typ einen Pointer auf die Funktion 11 hat, die wiederum als Typ einen Pointer auf eine beliebige Funktion ohne Parameter hat. Allerdings wuede dann der Name der Funktion fehlen aka (* ( void(*)() ) 11) x(); oder? Sorry, hab von C nicht wirklich viel Ahnung, aber evt. weiss jemand anderes mehr.