Bonjour,
Je voulais savoir, si on ne fournit pas d'argument dans la liste variable d'une fonction (ce qui n'est en générale pas une obligation), s'il y'avait un moyen de savoir si des arguments on été passés ou non.
Merci
Bonjour,
Je voulais savoir, si on ne fournit pas d'argument dans la liste variable d'une fonction (ce qui n'est en générale pas une obligation), s'il y'avait un moyen de savoir si des arguments on été passés ou non.
Merci
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
Aucun moyen automatique. Le rôle du dernier paramètre formel avant les paramètres variables est précisément de renseigner la fonction sur le nombre (et éventuellement, le type) de paramètres attendus. C'est à l'appelant de faire ce qu'il faut.Envoyé par CSoldier
Cependant, la méthode de la sentinelle peut fonctionner si l'appelant ne fait pas n'importe quoi.
Par exemple (Le paramètre attendu est de type char * et la sentinelle est NULL) :
utilisé comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part void print (int, ...);
Evidemment si on fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 print (0, NULL); print (0, "Hello", NULL); print (0, "Hello", "World", NULL);
le comportement est indéfini...
Code : Sélectionner tout - Visualiser dans une fenêtre à part print (0, "Hello", "World");
Partager