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:

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++;
            }
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
 
void            float_number(float nb, t_option *gl_option)
{
printf("%f", nb);
}
donc void* -> float.

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!