【发布时间】:2016-12-04 22:11:05
【问题描述】:
在这种情况下,我的模板知识有点生疏了。
在A类(一个模板类,有两个模板参数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<char> myType);做什么?这没有任何意义。 -
请展示一个简单的预期用例。
-
您的困惑可能来自您对术语的草率使用。没有“模板类型”之类的东西。有类型,也有模板。类型不是模板,模板也不是类型。类型可能result来自模板(特化),但将模板与其特化区分开来很重要。
-
同意,我不应该使用模板类型。为更正干杯!
标签: c++