디폴트 인자를 가진 포인터를 함수포인터에 대입할때..

vani2의 이미지

void foo(int a = 12);
 
void main(void) {
 
	void(*fp)(int = 12) = foo;
 
}
 
void foo(int a) {
 
	cout << "foo함수 호출됨" << endl;
 
}

함수포인터의 디폴트 인수는 위와같이 지정해 줄 수 있다고 해봤더니 오류를 내뿜네요..
실험환경은 vs2013입니다.

1 IntelliSense: 이 선언에 대한 기본 인수를 지정하는 것은 표준이 아닙니다.

seirion의 이미지

기본 파라미터는 function signature 에 포함되지 않습니다.

vani2의 이미지

음.. 죄송합니다 이해가 되질않네요.

쉽게 설명해주시면 감사하겠습니다...

klara의 이미지

기본인자는 함수의 선언과 템플릿 인자에만 나타날 수 있습니다. 왜냐고 물으시면 그게 표준입니다. '어디선 된다던데?'라고 물으실거면 먼저 표준을 읽어보고 오세요.

vani2의 이미지

기본인자가

default parameters를 말하는 건가요?

klara의 이미지

표준에서는 default argument 라고 합니다.

vani2의 이미지

아하 감사합니다.