Est-ce que quelqu'un pourrait me dire comment on declare une fonction qui ne prends aucun argument et retourne un pointeur sur une fonction int fonction(int) ? Je n'ai pas trouvé dans la FAQ... Merci.
Est-ce que quelqu'un pourrait me dire comment on declare une fonction qui ne prends aucun argument et retourne un pointeur sur une fonction int fonction(int) ? Je n'ai pas trouvé dans la FAQ... Merci.
Salut
je m'allie a ta question, car j'ai consulté de facon rapide le net et je n'ai pas touvé dinformation sy répondant.
A bon entendeur salut!
c'est vrai que c'est pas ecrit explicitement mais en utilisant ses neurones et ca http://lfe.developpez.com/FAQ/C/?pag...bleau_pointeur on peut y arrivé
donc pour une fonction qui retourne un pointeur de fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 typedef int *(*F) (); /* F pointeur sur fonction */ int *f1() /* une fonction de type F */ { /* corps de la 1e fonction */ } int *f2() /* une autre fonction de type F */ { /* corps de la seconde fonction */ } int main() { F tab_fonc[2]; /* un tableau de 2 pointeurs sur fonctions (2 types F) */ int *tab; /*initialisation du tableau de pointeurs sur fonctions */ tab_fonc[0] = f1; tab_fonc[1] = f2; tab = tab_fonc[0](); /*appel d'une fonction */ printf("%d %d\n", tab[0], tab[1]); tab = tab_fonc[1](); /* appel de l'autre fonction */ printf("%d %d\n", tab[0], tab[1]); return 0; }
F MaFonctionQuiRetourneUnPointeurDeFonction()
c'est bien simple il suffit de faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 typedef int ( *LPFN ) (int); int fonction(int b) { return b*4; } LPFN retourne_une_fonction() { return fonction; }
Nickel merci.
Merci je trouve que c'etait une information subtile.
MErci encore une fois pour ce détail.
A bientot
Partager