va_start
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
헤더 파일에 정의됨
<cstdarg>
|
||
|
void
va_start
(
std
::
va_list
ap, parm_n
)
;
|
||
va_start
매크로는 명명된 인수
parm_n
다음에 오는 가변 인수들에 대한 접근을 가능하게 합니다.
va_start
는 유효한
va_list
객체
ap
에 대한 인스턴스와 함께
va_arg
를 호출하기 전에 호출되어야 합니다.
|
만약 parm_n 이 pack expansion 이거나 lambda capture 에서 비롯된 엔티티인 경우, 프로그램의 형식이 잘못되었으며 진단이 필요하지 않습니다. |
(C++11부터) |
만약 parm_n 이 참조 타입이거나, 기본 인자 승격 에서 발생하는 타입과 호환되지 않는 타입인 경우, 그 동작은 정의되지 않습니다.
목차 |
매개변수
| 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
|
|