저는 현재 다른 값의 힘을 보여주는 함수에 대한 템플릿 전문화를 작성하려고합니다. 내 코드는 다음과 같습니다어떻게 C++ 템플릿을 만드시겠습니까?
,오류 C2784 :
#include <iostream> using namespace std; template <class T> T myfunc(T x) { return x*x; } template<> string myfunc<string>(string ss) { return (ss+ss); } int main() { cout<<myfunc("test")<<endl; return 0; }
컴파일 실패 '표준 : _ String_iterator < _Mystr> 표준 : 운영자 + (_ String_iterator < _Mystr> :: difference_type, 표준 : : _String_iterator < _Mystr>) ' 는 : 템플릿 인수를 추론 할 수없는 에 대한'표준 : _ String_iterator < _Mystr> 표준 : : 문자열 ''에서 '
문제가 정확히 어디에서 발생하는지 감지 할 수 있습니까?
' "test"'는'std :: string'으로 추론되지 않습니다. 이것은'const char [5]'유형입니다. – chris