다음을 통해 공유


가변 인수 목록

argument-declaration-list의 마지막 멤버가 줄임표(...)인 함수 선언은 일정하지 않은 수의 인수를 사용할 수 있습니다. 이러한 경우 C++에서는 명시적으로 선언된 인수에만 형식 검사를 제공합니다. 인수의 수와 형식까지 변경될 수 있는 정도의 일반적인 수준으로 함수를 만들어야 하는 경우 가변 인수 목록을 사용할 수 있습니다. printf 계열의 함수는 가변 인수 목록을 사용하는 함수의 예입니다.

가변 인수 목록이 선언된 후 인수에 액세스하려면 가변 인수 목록을 사용하는 함수에 설명된 대로 표준 포함 파일 STDARG.H에 포함된 매크로를 사용합니다.

Microsoft 전용

Microsoft C++에서는 줄임표가 마지막 인수이고 줄임표 앞에 쉼표가 있는 경우 줄임표를 인수로 지정할 수 있습니다. 따라서 int Func( int i, ... ); 선언은 올바르지만 int Func( int i ... );는 올바르지 않습니다.

Microsoft 전용 종료

일정하지 않은 수의 인수를 사용하는 함수의 선언에는 사용하지 않더라도 최소한 하나의 자리 표시자 인수가 있어야 합니다. 이 자리 표시자 인수가 제공되지 않은 경우 나머지 인수에 액세스할 수 있는 방법은 없습니다.

char 형식의 인수는 가변 인수로 전달될 때 int 형식으로 변환됩니다. 마찬가지로 float 형식의 인수는 가변 인수로 전달될 때 double 형식으로 변환됩니다. 다른 형식의 인수에는 일반적인 정수 계열 및 부동 소수점 확장이 적용됩니다. 자세한 내용은 정수 계열 확장을 참조하십시오.

참고 항목

참조

함수 선언