0
가능하면 클래스 및 클래스 템플릿 값이 템플릿 매개 변수 인 템플릿 기반 클래스를 반환하는 함수를 갖고 싶습니다. 예를 들어,템플릿 클래스 및 유형 반환 함수 유형에 대한 멤버 함수
class AClass
{
public:
template<typename ClassType, typename ClassTemplateType>
ClassType<ClassTemplateType>* TestFunction() { return NULL; }
};
그러나, 나는 오류를 얻을 것이다이 같은 작업을 수행하는 경우 등
오류 C2988 등 : 인식 할 수없는 템플릿 선언/정의
오류 C2059 : 구문 오류 : '<'
오류 C2143 : 구문 오류 : ';'이 (가) 없습니다. 앞에 '}'
오류 C2238 : ';'앞에 예기치 않은 토큰이 있습니다.
내가 제공 한대로 할 수 있습니까? 그렇다면 어떻게해야합니까? 그렇지 않다면 왜 제안 할 수있는 다른 것이 있습니까?
왜 그것을'클래스 ClassType'가 아닌'템플릿 ClassType'입니까? – judeclarke
@judeclarke이 문법은 'template [class or typename] [template name]>'이며, 우리의 경우에는'template ClassType> '입니다. –
사실이 아닙니다 - 템플릿 형식의 인수에 대해'class' 또는'typename'을 사용할 수 있지만 템플릿 템플릿 인수의 경우'class' 만 사용할 수 있습니다. – ildjarn