Bonsoir,
Un petit probleme de passage de variable se pose dans mon programme:
J'enumere les differents specifiers a l'aide de l'utilisation de pointeurs sur fonctions et avec les va_arg je suis oblige d'envoyer un void* pour l'envoi des donnees a mes fonctions. (mmm c'est pas clair )
Exemple:
j'ai sa dans mon main:
et en resume j'envoi l'argument de type void* a:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 while (gl_specifier[count].specifier != 0) { if (gl_specifier[count].specifier == *str) gl_specifier[count].ptr_func(va_arg(va, void*), &gl_option); count++; }
donc void* -> float.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void float_number(float nb, t_option *gl_option) { printf("%f", nb); }
Mais le printf m'affiche 0.0000... Le float est donc mal transfere et je ne vois pas comment faire autrement...
Si quelqun a une idee
Merci!
Partager