12Fermer14
GodzilLe 04/11/2016 à 13:39
Oui comme dit par les autres, les va_list n'ont aucun mecanisme par defaut pour determiner la fin de liste. Tu as deux possibilite, soit un marqueur identifiable (NULL/0 peux ne pas etre la bonne solution dans certains cas) soit comme printf, un des parametres obligatoires permet de connaitre le nombre d'element variables.

- Ca peux etre un basique
void foo(int count, ...);
Mais tu as le nombre mais pas le type, donc chaque element soit etre du meme type (ou alors utiliser des choses intelligente comme le polymorphisme possible en C avec les structures)

- a un truc plus complique comme ce que fait *printf:
int printf(const char *fmt, ...);
ou le parsing de fmt permet de savoir le type et le nombre de chacun des parametres.