• # ça marche pas tout a fait comme ça...

    Posté par . En réponse au message Fonctions variadiques imbriques. Évalué à 2.

    Bonjour,

    En fait, si tu regarde le prototype de la fonction vsnprintf qui est utilisé dans l'exemple, tu verra que:

    • ça n'est pas: vsnprintf(str, size, format, ...)
    • c'est: vsnprintf(str, size, format, va_list ap)

    Donc dans ton cas, il ne faut pas définir:
    void get_data_nesteed2(const char *pfmt, ...)

    mais ceci:
    void get_data_nesteed2(const char *pfmt, va_list args)

    avec le code a simplifier en conséquence.

    Si tu ne peut pas changer le prototype de get_data_nested2, il va falloir penser le problème autrement, car il ne me semble pas possible de transmettre des variadics autrement que par l'intermédiaire du type va_list (si c'était possible, il n'y aurais pas 2 fonctions snprintf et vsnprintf pour faire la même chose)