
Envoyé par
PsychoH13
Juste pour info, un pointeur de fonction est une variable comme une autre, tu déclares un pointeur de fonction comme ça :
type_de_retour (*nom_var)(type_param1, type_param2, ...);
Ce qui donne par exemple pour une fonction prenant un nombre indéfini de paramètre et retourné un int :
Non ! Il n'y a pas "un nombre indéfini de paramètres", il n'y a pas de paramètre du tout !!!

Envoyé par
PsychoH13
On remarque par la même occasion, que le nom de la fonction représente son adresse lorsqu'il n'y a pas les parenthèses.
C'est pour ça qu'on peut stocker cette adresse dans un "pointeur"

Envoyé par
PsychoH13
Et pour appeler une fonction affectée à un pointeur de fonction, il suffit de faire ça :
retour = fonc(var1, var2);
NON ! Il suffit de faire ça
retour = (*fonc)(var1, var2);
Puisque "fonc" représente un pointeur, pour appeler le pointé (le code de la fonction) il faut utiliser l'étoile (pointé)
Partager