Rufen Sie einen void* als eine Funktion ohne die Deklaration einer Funktion-Zeiger

Habe ich gesucht, aber konnte Sie nicht finden, alle Ergebnisse (in meiner Terminologie kann ausgeschaltet werden), so verzeihen Sie mir, wenn dies wurde gebeten vor.

Ich Frage mich, ob es eine einfache Möglichkeit zum aufrufen einer void* als eine Funktion in C, ohne die erste Deklaration ein function-pointer und dann das zuweisen der Funktion Zeiger die Adresse;

ie. vorausgesetzt, die Funktion aufgerufen werden, ist Typ void(void)

void *ptr;
ptr = <some address>;
((void*())ptr)(); /* call ptr as function here */

mit dem oben aufgeführten code bekomme ich Fehler C2066: cast-Funktion geben ist illegal in VC2008

Wenn das möglich ist, wie würde der syntax unterscheiden sich die Funktionen mit Rückgabetypen und mehrere Parameter?

InformationsquelleAutor der Frage jay.lee | 2010-04-14

Schreibe einen Kommentar