va_start
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Definido en el encabezado
<cstdarg>
|
||
|
void
va_start
(
std
::
va_list
ap, parm_n
)
;
|
||
La macro
va_start
permite acceder a los argumentos variables que siguen al argumento nombrado
parm_n
.
va_start
debe invocarse con una instancia de un objeto
va_list
válido
ap
antes de cualquier llamada a
va_arg
.
|
Si el parm_n es una expansión de paquete o una entidad resultante de una captura lambda , el programa está mal formado, no se requiere diagnóstico. |
(desde C++11) |
Si parm_n es de tipo referencia, o de un tipo no compatible con el tipo que resulta de las conversiones predeterminadas de argumentos , el comportamiento es indefinido.
Contenidos |
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
|
|