Bonjour,
Une question idiote, est-il possible d'appeler une fonction dont le nom est dans une variable et si oui, comment?
Merci
Non
Pas possible en C
Par contre il est possible d'appeler une fonction dont l'adresse est dans une variable, dans ce cas c'est un pointeur sur une fonction. De la même manière on peut définir un tableau de pointeurs de fonctions
Tableau de pointeurs de fonctions
D'autres exemples et tuto en tapant "pointeur sur fonction" dans un moteur de recherche
Effectivement le C ou C++ sont compilés et les noms des variables ou fonctions disparaissent dans le binaire final - ce n’est pas comme des langages interprétés ou à run time dynamique
Disons que si vous avez un nombre limité et connu de fonctions vous pourriez comparer la chaîne et appeler la bonne fonction
void appelerFonction(const char * name)
{
if (!strcmp(name, “fonctionA”)) return fonctionA();
if (!strcmp(name, “fonctionB”)) return fonctionB();
if (!strcmp(name, “fonctionC”)) return fonctionC();
}
mais comme vous le voyez c’est pas génial.
Merci,
Par rapport à vos réponse, Je pense utiliser les pointeurs de fonction. Je vai,me pencher dessus.
Merci.