Chiamate con un numero variabile di argomentiCalls with a Variable Number of Arguments

Un elenco di parametri parziale può essere terminato dalla notazione con i puntini di sospensione, una virgola seguita da tre punti (, ...), per indicare che potrebbero esserci altri argomenti passati alla funzione, ma su tali argomenti non viene specificata nessun'altra informazione.A partial parameter list can be terminated by the ellipsis notation, a comma followed by three periods (, ...), to indicate that there may be more arguments passed to the function, but no more information is given about them. Su tali argomenti non viene eseguito il controllo dei tipi.Type checking is not performed on such arguments. Almeno un parametro deve precedere la notazione con i puntini di sospensione e tale notazione deve essere l'ultimo token nell'elenco di parametri.At least one parameter must precede the ellipsis notation and the ellipsis notation must be the last token in the parameter list. Senza la notazione con i puntini di sospensione, il comportamento di una funzione non è definito se riceve i parametri oltre a quelli dichiarati nell'elenco di parametri.Without the ellipsis notation, the behavior of a function is undefined if it receives parameters in addition to those declared in the parameter list.

Per chiamare una funzione con un numero variabile di argomenti, specificare un numero qualsiasi di argomenti nella chiamata di funzione.To call a function with a variable number of arguments, simply specify any number of arguments in the function call. Un esempio è rappresentato dalla funzione printf dalla libreria di runtime del linguaggio C.An example is the printf function from the C run-time library. La chiamata di funzione deve includere un argomento per ogni nome del tipo dichiarato nell'elenco di parametri o nell'elenco dei tipi di argomento.The function call must include one argument for each type name declared in the parameter list or the list of argument types.

Tutti gli argomenti specificati nella chiamata di funzione vengono inseriti nello stack a meno che non venga specificata la convenzione di chiamata __fastcall.All the arguments specified in the function call are placed on the stack unless the __fastcall calling convention is specified. Il numero di parametri dichiarati per la funzione determina il numero di argomenti estratti dallo stack e assegnati ai parametri.The number of parameters declared for the function determines how many of the arguments are taken from the stack and assigned to the parameters. L'utente deve recuperare tutti gli argomenti aggiuntivi dallo stack e determinare il numero di argomenti presenti.You are responsible for retrieving any additional arguments from the stack and for determining how many arguments are present. Il file STDARG.H contiene macro stile ANSI per accedere agli argomenti delle funzioni che accettano un numero variabile di argomenti.The STDARG.H file contains ANSI-style macros for accessing arguments of functions which take a variable number of arguments. Inoltre, le macro stile XENIX in VARARGS.H sono ancora supportate.Also, the XENIX-style macros in VARARGS.H are still supported.

Questa dichiarazione di esempio si riferisce a una funzione che chiama un numero variabile di argomenti:This sample declaration is for a function that calls a variable number of arguments:

int average( int first, ...);  

Vedere ancheSee Also

Chiamate di funzioneFunction Calls