Exécuter une fonction transmise en paramètres

Résolu
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 - 29 mars 2009 à 11:29
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 - 1 avril 2009 à 18:12
Bonjour,

Comment exécuter une fonction transmise en paramètre à une autre, exemple:

void LancerFonction(LPTHREAD_START_ROUTINE fx){

// Lançons fx avec un ou plusieurs arguments

}

Et cela sans passer par un thread !

Est-ce possible?

Si oui, comment?

Merci d'avance et à bientôt !

2 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
31 mars 2009 à 21:36
Salut,

Bin en l'appelant

<hr size="2" width="100%" />#include "stdio.h"

typedef float (*operation_function)(float f1, float f2);

float add(float f1, float f2) { return f1 + f2; }

float execute(operation_function func, float i, float j)
{
  return func(i, j);
}

int main()
{
  printf("%f\n", execute(add, 2, 3));
  return 0;
}
3
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 4
1 avril 2009 à 18:12
Merci de la réponse !
0
Rejoignez-nous