va_start
| Definido en el encabezado <cstdarg>
|
||
void va_start( std::va_list ap, parmN );
|
(hasta C++26) | |
void va_start( std::va_list ap, ... );
|
(desde C++26) | |
La macro va_start habilita el acceso a los argumentos variablesque siguen al argumento con nombre parmN(hasta C++26).
va_startdebe invocarse con una instancia de un objeto std::va_list válido ap antes de cualquier llamada a va_arg.
Si |
(hasta C++26) | ||
|
Si hay más de un argumento presente para |
(desde C++26) |
Parámetros
| ap | - | un objeto del tipo va_list |
| parm_n | - | el parámetro nombrado que precede al primer parámetro variable |
Valor expandido
(ninguno)
Notas
va_start
es necesario para soportar
parm_n
con el operador
operator&
sobrecargado.
Ejemplo
Salida:
150
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.
| DR | Se aplica a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| CWG 273 | C++98 |
no estaba claro si
va_start
debe
soportar parm_n s con
operator&
sobrecargado
|
requerido |
| LWG 2099 | C++98 |
el comportamiento era indefinido si
parm_n
se
declara con tipo función, array o referencia |
el comportamiento es indefinido si
parm_n es de tipo referencia |
Véase también
|
accede al siguiente argumento de función variádica
(macro de función) |
|
|
finaliza el recorrido de los argumentos de función variádica
(macro de función) |
|
|
Documentación de C
para
va_start
|
|