Difference between revisions of "cpp/utility/variadic/va start"
From cppreference.com
D41D8CD98F (Talk | contribs) m (fmt) |
(apply 18.10[support.runtime]/3 instead of C rules) |
||
Line 12: | Line 12: | ||
{{tt|va_start}} should be invoked with an instance to a valid {{lc|va_list}} object {{tt|ap}} before any calls to {{lc|va_arg}}. | {{tt|va_start}} should be invoked with an instance to a valid {{lc|va_list}} object {{tt|ap}} before any calls to {{lc|va_arg}}. | ||
− | If {{tt|parm_n}} is declared with reference type | + | If {{tt|parm_n}} is declared with reference type or with a type not compatible with the type that results from [[cpp/language/variadic_arguments#Default_conversions|default argument promotions]], the behavior is undefined. |
===Parameters=== | ===Parameters=== | ||
Line 22: | Line 22: | ||
===Expanded value=== | ===Expanded value=== | ||
(none) | (none) | ||
+ | |||
+ | ===Notes=== | ||
+ | {{tt|va_start}} is required to support {{tt|parm_n}} with overloaded {{tt|operator&}}. | ||
===Example=== | ===Example=== |
Revision as of 07:51, 17 August 2015
Defined in header <cstdarg>
|
||
void va_start( va_list ap, parm_n ); |
||
The va_start
macro enables access to the variable arguments following the named argument parm_n
.
va_start
should be invoked with an instance to a valid va_list object ap
before any calls to va_arg.
If parm_n
is declared with reference type or with a type not compatible with the type that results from default argument promotions, the behavior is undefined.
Contents |
Parameters
ap | - | an instance of the va_list type |
parm_n | - | the named parameter preceding the first variable parameter |
Expanded value
(none)
Notes
va_start
is required to support parm_n
with overloaded operator&
.
Example
Run this code
Output:
150
See also
accesses the next variadic function argument (function macro) | |
ends traversal of the variadic function arguments (function macro) | |
C documentation for va_start
|