코드 재사용 및 전문화를위한 하나의 함수를 템플릿으로 만듭니다.C++의 중첩 템플릿
함수 서명은 FooBar가 Foo<BarX>
인 int DoStuff(FooBar &a);
행을 따릅니다. 즉, 미리 typedef 할 수없는 템플릿의 인스턴스입니다.
나는 template <class T> int DoStuff(Foo<T> &a);
과 template <class T> int DoStuff(T &a);
을 시도했지만 약간의 도움이되지 않는 일반적인 암호 링커 오류가 발생합니다.
단순한 템플릿 사용에서만 발견되는 이러한 주제에 대한 자습서도 찾을 수 없습니다.
Foo<Bar1> var1;
int res1 = DoStuff(var1);
Foo<Bar2> var2;
int res2 = DoStuff(var2);
etc.
나는 불가능한 일을하려고 :
코드는 같이 호출 할 것인가?
템플릿을 헤더로 옮겼습니다. 모든 것이 잘 작동했습니다. 기묘한... – Coder