J'aimerais savoir si et comment il serait possible de créer un tableau de pointeurs pointant vers des fonctions de mêmes prototypes. Jusque là toutes mes tentatives sont restées vaines (gcc m'envoie paître).
Si tu fais du c++ pourquoi ne pas utiliser de l'objet, par exemple des methodes virtuelles plutot qu'un tableau de fonctions ?
Sinon, donne ce que tu as essayé, ca sera plus facile à corriger...
Voir ma réponse à cho7 pour ce que j'avais tenté. Sinon c'est que je suis encore dans une phase d'étude du c/c++ : j'ai pas encore bien vu la couche objet. c'est pour ça que ça ne m'est pas venu naturellement.
pffioouu ca fait longtemps que j'ai pas codé en C, mais de mémoire :
un pointeur sur fonction donne un truc genre
int (*plop) ();
J'ai jamais eu le besoin de faire un tableau de pointeurs sur fonctions, et je n'ai pas gcc sous la main, donc je ne suis sûr de rien mais je supposerai une syntaxe genre :
(int (*plop)()) * tab;
ou même
int (*plop)() * tab;
p'tain ca fait peur quand même :)
C'est surement pas ca, mais ca m'a fait plaisir d'essayer ^^
# C++ ?
Posté par Pascal Terjan (site web personnel) . Évalué à 4.
Sinon, donne ce que tu as essayé, ca sera plus facile à corriger...
[^] # Re: C++ ?
Posté par Guillaume Ceccarelli . Évalué à 1.
Merci !
# Hum
Posté par cho7 (site web personnel) . Évalué à 3.
un pointeur sur fonction donne un truc genre
int (*plop) ();
J'ai jamais eu le besoin de faire un tableau de pointeurs sur fonctions, et je n'ai pas gcc sous la main, donc je ne suis sûr de rien mais je supposerai une syntaxe genre :
(int (*plop)()) * tab;
ou même
int (*plop)() * tab;
p'tain ca fait peur quand même :)
C'est surement pas ca, mais ca m'a fait plaisir d'essayer ^^
[^] # Re: Hum
Posté par cho7 (site web personnel) . Évalué à 3.
int (*plop[])();
tout simplement :)
[^] # Re: Hum
Posté par Guillaume Ceccarelli . Évalué à 1.
Merci encore !
# Exemple :
Posté par jigso . Évalué à 3.
typedef int MonTypeDeFonction(int foo, const char* bar);
MonTypeDeFonction monTableauDeFonction[100];
int fct0(int foo, const char* bar) { ... }
int fct1(int foo, const char* bar) { ... }
int fct2(int foo, const char* bar) { ... }
monTableauDeFonction[0] = fct0;
monTableauDeFonction[1] = fct1;
monTableauDeFonction[2] = fct2;
...
{
...
MonTypeDeFonction fn = monTableauDeFonction[42];
int retour = (fn)(0, "foo");
Le plus marrant, c'est en C++ pour appeler une méthode sur un objet : (obj->*fct)(args);
[^] # Re: Exemple :
Posté par Guillaume Ceccarelli . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.