컴파일러 오류 C2548
'class::member': 매개 변수 매개 변수에 대한 기본 매개 변수가 없습니다.
기본 매개 변수 목록에 매개 변수가 없습니다. 매개 변수 목록의 아무 곳에나 기본 매개 변수를 제공하는 경우 현재 선언의 모든 후속 매개 변수 또는 동일한 범위 내의 이전 선언에 대한 기본 매개 변수를 정의해야 합니다.
예시
다음 샘플에서는 다음에 대한 C2548을 생성합니다.
func1
기본 인수b
가 누락되었기 때문입니다.func3
기본 인수c
가 누락되었기 때문입니다.
다음 샘플에서는 다음에 대한 C2548을 생성하지 않습니다.
func2
필수 기본 인수가 모두 제공되기 때문입니다.- 기본 인수
c
가 이전 선언에서 제공되고 동일한 범위에 있으므로 두 번째func4
선언입니다. - 기본 인수
b
와c
이전에 제공되었으므로 세 번째func4
선언입니다.
// C2548.cpp
// compile with: /c
void func1(int a = 1, int b, int c = 3); // C2548
void func2(int a = 1, int b = 2, int c = 3); // OK
void func3(int a, int b = 2, int c); // C2548
void func4(int a, int b, int c = 3); // OK
void func4(int a, int b = 2, int c); // OK
void func4(int a = 1, int b, int c); // OK