C++ 在模板中使用模板实例类型
如果我要写一个模板C++ 在模板中使用模板实例类型,c++,c++11,templates,c++14,C++,C++11,Templates,C++14,如果我要写一个模板 template<class T> class myTemplate{ ... }; 模板 类myTemplate{ ... }; C++11或C++14中是否有语法允许我在实际的模板声明中识别myTemplate*类型 例如,编写以下内容的正确语法是什么 template <class T> class myTemplate{ ... void myTemplate(myTemplate<T>*, int); .... }; 模
template<class T>
class myTemplate{
...
};
模板
类myTemplate{
...
};
C++11或C++14中是否有语法允许我在实际的模板声明中识别myTemplate*
类型
例如,编写以下内容的正确语法是什么
template <class T>
class myTemplate{
...
void myTemplate(myTemplate<T>*, int);
....
};
模板
类myTemplate{
...
作废myTemplate(myTemplate*,int);
....
};
短暂性脑缺血发作
Vinod在myTemplate
中,您可以引用与myTemplate
相同的类型(作为方法参数),或者只引用myTemplate
。引用指向此类型的指针也是如此
这样你就可以写作了
myTemplate (myTemplate<T> *, int) {}
当您想要为不同的T
类型引用myTemplate
时,您必须明确它。因此,您可以为所有可能的myTemplate
类型编写一个接受myTemplate
指针的模板myTemplate
构造函数,如下所示
template <typename U>
myTemplate (myTemplate<U> *, int) { }
模板
myTemplate(myTemplate*,int){}
显然,您必须避免内部模板的标识符
T
,以避免与外部模板混淆。构造函数没有返回类型。放下作废<代码>myTemplate(myTemplate*,int)
是myTemplate
的构造函数的有效声明。我不太清楚你有什么问题。
template <typename U>
myTemplate (myTemplate<U> *, int) { }