2012-07-01 2 views
0

헤더 파일 시작 부분에 일반 함수 선언을 만들 수 있습니까?함수 오버로드에 대한 템플릿과 같은 선언

내가 template<class t> t func(t); 다음을 전문으로 할 수

하지만
Template Specialization VS Function Overloading
그렇게하지 말한다.

+1

질문이 명확하지 않습니다. 너 무슨 소리 야? 선언 대 정의? 아니면 전문성과 오버로딩? 당신이 제공 한 링크는 후자에 관한 것입니다. 그러나 귀하의 질문은 전자에 관한 것 같습니다. 이 모든 작업은 "헤더 파일 시작시 선언"과 어떤 관련이 있습니까? – AnT

답변

1

먼저 템플릿 함수를 선언하고 정의한 다음 특수화를 정의 할 수 있습니다. 그러나 ...

기능 특수화는 전체 전문화 여야합니다. 즉, 부분적으로 템플릿 기능을 특수화 할 수 없습니다. 이제 실제로 함수 템플릿을 특수화 할 수는 있지만 과부하에는 장점 (및 단점)이있을 수 있지만 대부분의 경우 더 나은 옵션이됩니다.

http://www.gotw.ca/publications/mill17.htm