2010-11-18 8 views

답변

3

함수의 기본 인수 유형이 템플릿 추론에 도움이 될 수 없습니다. type-parameter. 은 어떤 경우 에든 foo_bar()과 같은 함수를 호출 할 때 추론 할 수 없으므로 오류가 발생합니다.

이렇게 시도하십시오 foo_bar<int>();. 이 경우에는 T의 유형이 명시 적으로 지정되어 있으므로 이러한. 제 점이 없습니다.

+1

이 작동합니다. 고마워. – FooBar

2

컴파일러는 형식을 알아낼 수 있어야하지만 절대 제공하지 않으면 해당 기본값을 사용하여 수행 할 작업을 알 수 없습니다. 기본적으로 함수 호출은 어떤 함수에 대해서도 일치하지 않을 수 있습니다. 그 이유는 함수를 정의 할 수있는 함수를주지 않았고 함수 정의가 도움이되지 않았기 때문입니다. 그러므로

int main() 
{ 
foo_bar<int>(); 
return 0; 
} 

또는 공상에 치우치는 유형을 대괄호로 묶어서 유형을 추가해야합니다.

관련 문제