2010-07-12 4 views

Répondre

3

printf est un bel exemple de ce

:)
printf("Call with no other variables"); 
printf("Call with %d variables", 1); 
printf("Call with %d variables. The other variable: %d", 2, 5); 
1

Il fait référence à une fonction qui peut prendre un nombre variable de paramètres à l'aide des ellipses (...) dans la liste des paramètres et va_list, va_start, va_arg etc méthodes/macros. Avez-vous une question plus spécifique à ce sujet?

Voir par exemple:

http://www.cplusplus.com/reference/clibrary/cstdarg/va_arg/

Hope qui aide!

+0

Merci à tous, mais quelqu'un peut-il expliquer avec un exemple simple? –

0

Une fonction qui prend un nombre variable d'arguments. Par exemple, printf La signature est aussi <return-type> <function-name>(<datatype>,...);

+1

Incorrect. Ces fonctions doivent avoir au moins un non -... argument devant la ... –

+0

@R - Merci édité. +1 pour le rapport. –

3

Cela signifie une fonction qui peut accepter un nombre variable d'arguments:

void myprintf(const char *fmt, ...) 
    { 
    } 

Vous pouvez appeler la fonction ci-dessus dans l'une des manières suivantes:

myprintf("This is %d", 1); 
myprintf("%d out of %d", 1, 2); 
myprintf("%d/%d %c", 1,2, 'c'); 
0

Il indique les fonctions qui ont des paramètres, mais le nombre de paramètres ne sont pas fixes (pas donc variable params).

Questions connexes