Standard library header <cstdarg>
From cppreference.com
This header was originally in the C standard library as <stdarg.h>.
This header provides support for C-style variadic functions, while the C definition of "default argument promotions" is replaced with the C++ definition.
Types | ||
holds the information needed by va_start, va_arg, va_end, and va_copy (typedef) | ||
Macros | ||
enables access to variadic function arguments (function macro) | ||
accesses the next variadic function argument (function macro) | ||
(C++11) |
makes a copy of the variadic function arguments (function macro) | |
ends traversal of the variadic function arguments (function macro) |
[edit] Synopsis
namespace std { using va_list = /*see description*/ ; } #define va_arg(V, P) /*see description*/ #define va_copy(VDST, VSRC) /*see description*/ #define va_end(V) /*see description*/ #define va_start(V, P) /*see description*/
[edit] Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|
CWG 2645 | C++98 | C++ defines "default argument promotions", but its C definition was used | the C++ definition overrides the C definition |