Standard library header <cstdarg>

From cppreference.com
Standard library headers

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)

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*/

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