Appelez un void * en tant que fonction sans déclarer de pointeur de fonction

J'ai cherché mais impossible de trouver des résultats (ma terminologie est peut-être éteint), donc pardonnez-moi si cela a été demandé avant.

Je me demandais si il existe un moyen facile d'appeler un void* comme une fonction en C sans d'abord déclarer un pointeur de fonction et en l'affectant le pointeur de la fonction de l'adresse;

ie. en supposant que la fonction à appeler est le type de void(void)

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

avec le code ci-dessus, j'obtiens erreur C2066: fonte de type de fonction est illégal dans VC2008

Si cela est possible, quelle serait la syntaxe diffère pour les fonctions avec des types de retour et des paramètres multiples?

source d'informationauteur jay.lee