2012-11-05 5 views
-3

동일한 매개 변수를 사용하여 함수 템플릿을 만드는 가장 좋은 방법은 무엇입니까? 예를 들어동일한 매개 변수가있는 함수 템플릿

:

당신은 내가 복귀가 템플릿 매개 변수를 입력하고 제안하는 것을 시도 것과
template<class T> 
int foo(const T &item) { 
    // ... 
    return item; 
}; 

template<class T, class NotUsed> 
char foo(const T &item) { 
    // ... 
    return item; 
}; 

int main() 
{ 

    std::cout << foo(1) << std::endl; // 1 
    std::cout << foo('1') << std::endl; // 1 

    return 0; 
} 
+3

그게 무슨 뜻인가요? 질문이나 예도 분명하지 않습니다. (또한 일반적인 오류이기는하지만 관련이 없으며 "템플릿 함수"가 아니라 "함수 템플릿"입니다.) –

+4

템플릿 T foo (const T & item)'의 잘못된 점은 무엇입니까? 아니면 '템플릿 꾸러미 & (const T & 항목)'템플릿? –

+0

@David Schwartz, 형식을 명시 적으로 지정하고 싶습니다. – Robbin

답변

4

.

template<class T, class Return = int> 
Return foo(const T &item) { 
    // ... 
    return item; 
}; 

int main() 
{ 
    std::cout << foo<int, int>(1) << std::endl; // 1 
    std::cout << foo<char, char>('1') << std::endl; // 1 
    return 0; 
} 
관련 문제