va_start
cppreference.net에서 가져옴
| 헤더 <cstdarg>
|
||
void va_start( std::va_list ap, parmN );
|
(C++26까지) | |
void va_start( std::va_list ap, ... );
|
(C++26부터) | |
va_start 매크로는 명명된 인자 다음에 오는 가변 인자parmN(C++26까지)에 접근할 수 있게 합니다.
va_start는 std::va_list 객체의 유효한 인스턴스와 함께 호출되어야 합니다. ap 이후 va_arg 호출이 이루어지기 전에 말입니다.
만약 |
(C++26까지) | ||
|
만약 |
(C++26부터) |
매개변수
| ap | - | va_list 타입의 객체 |
| parm_n | - | 첫 번째 가변 매개변수 앞에 오는 명명된 매개변수 |
확장된 값
(없음)
참고 사항
va_start
는 오버로드된
operator&
를 가진
parm_n
을 지원하기 위해 필요합니다.
예제
이 코드 실행
출력:
150
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| CWG 273 | C++98 |
va_start
가 오버로드된
operator&
를 가진
parm_n 을 지원해야 하는지 명확하지 않았음 |
지원해야 함 |
| LWG 2099 | C++98 |
parm_n
이 함수, 배열, 또는 참조 타입으로
선언된 경우 동작이 정의되지 않았음 |
parm_n
이 참조 타입인 경우
동작이 정의되지 않음 |
참고 항목
|
다음 가변 인수 함수 인자에 접근
(함수 매크로) |
|
|
가변 인수 함수 인자의 순회를 종료
(함수 매크로) |
|
|
C 문서
for
va_start
|
|