如果可能的话,我希望在一个返回模板化类的类中有一个函数,其中类和类模板值是模板参数。例如,
class AClass
{
public:
template<typename ClassType, typename ClassTemplateType>
ClassType<ClassTemplateType>* TestFunction() { return NULL; }
};
但是,如果我要做这样的事情,我会收到诸如
之类的错误错误C2988:无法识别的模板声明/定义
错误C2059:语法错误:'&lt;'
错误C2143:语法错误:缺少';'在'}'之前
错误C2238:';'
之前的意外标记
是否可以像我提供的那样做一些事情,如果是的话,怎么做?如果不是,为什么不,还有其他可以建议的东西吗?
答案 0 :(得分:4)
模板模板参数的语法是
template<template<typename> class ClassType, typename ClassTemplateType>
ClassType<ClassTemplateType>* TestFunction() { return NULL; }