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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 void func(...) { }
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 çà:
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 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 void func(char* sz, ...) { }
Merci d'avance.
Partager