411Fermer413
PpHdLe 03/05/2009 à 17:34
Folco (./406) :
Dans un switch, je fais donc varier FuncPtr en fonction de la fonction que je lui assigne. Mais comment faire une sorte de "call FuncPtr()" ?


Il faut que toutes les fonctions appelées est le même prototype. Mettons que ca soit void f(void);
Définissons la variable
 void (*ptrfunc)(void);
 /* Affectons là */
 switch (i)
 {
 case 0: ptrfunc = f1; break;
 case 1: ptrfunc = f2; break;
 case 2: ptrfunc = f3; break;
 case 3: ptrfunc = f4; break;
 case 4: ptrfunc = f5; break;
 default: ptrfunc = f6; break;
}
(*ptrfunc)()


avec fn définit comme void fn(void);