我正在努力让以下工作:
template< typename T >
class MyTemplate {
public:
void myMethod( const MyTemplate< typename U > & )
{
return;
};
};
其中myMethod参数MyTemplate< typename U >
表示使用不同类型实例化的类。这甚至可能吗?
答案 0 :(得分:8)
是的,这是可能的。语法如下:
template< typename T >
class MyTemplate {
public:
template< typename U >
void myMethod( const MyTemplate<U> & )
{
return;
};
};
这是一个常见的结构。有关示例,请参阅std::shared_ptr
's constructors。