Nombre variable de paramètres
Bonjour. Ma question est toute simple. Je viens de m'apercevoir que ceci compile (que ce soit avec gcc, BCB, ou VisualC++, j'ai pu tout tester):
Autrement dit, il n'est pas nécessaire que la fonction ait au moins un paramètre classique.
Qu'en est-il exactement, que dit le standard à ce sujet ? Car dans tout ce que j'ai pu lire, il est indiqué que la fonction doit au moins avoir un paramètre classique, comme çà:
Code:
1 2 3 4
|
void func(char* sz, ...)
{
} |
De plus, si on a pas moyen de savoir le nombre d'arguments effectivement passés, comment les récupérer ? Si ce n'est pas possible, quel est l'intérêt d'autoriser une telle syntaxe ?
Merci d'avance.