0
在这种情况下,我的模板知识有点生疏。使用模板参数创建模板类型
内部A
类(2个模板参数,T1
和T2
模板化类),一个如何可以正确地声明在f()
方法下面使用该函数的参数myType
:
template<typename T1, typename T2>
class A
{
void f(T1<T2> myType);
void g(T2 myType2)
}
编辑:当使用时, T2
是非模板类型,但T1
是模板类型。
原因是我有T2
可以单独使用,没有T1
的用例。但是,我仍然想根据T1
来定义T2
(为了使依赖关系清晰)。
你期望'void f(int myType);'要做什么?这没有意义。 –
请显示一个简单的预期用例。 –
您的混淆可能来自您对条款草率的使用。没有像“模板类型”那样的东西。有*类型*,并有*模板*。类型不是模板,模板也不是类型。类型可能来自模板的(专业化),但区分模板和专业化非常重要。 –