Bonjour,
Je souhaiterais utiliser dans plusieurs fonctions différentes une liste variable de paramètres. Afin de rendre le code plus souple, j'ai une première fonction qui donne une référence sur la liste variable de paramètres:
J'ai par ailleurs une fonction à laquelle je souhaite faire passer un nombre variable de paramètres, soit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 va_list InitList(int aNb, ...) { va_list aL; va_start(aL, aNb); return (aL); }
Dans mon programme principal, je fais l'appel suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 double the_Func(va_list aL) { double aC = va_arg(aL, double); printf("%f\n", aC); }
Malheureusement, le résultat produit n'est pas celui escompté. La fonction the_Func n'affiche jamais 100. En mode debug, je me suis rendu compte que le pointeur aL au sein de la fonction the_Func n'avait pas la même valeur qu'en dehors de cette fonction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 va_list aL = InitList(1, 100.0); the_Func(aL); va_end(aL);
Si quelqu'un a une solution à mon problème, je suis preneur.
Je remercie par avance les personnes qui me feront une réponse.
Stochastic.
Partager