我正在尝试使以下工作:
template< typename T >
class MyTemplate {
public:
    void myMethod( const MyTemplate< typename U > & )
    {
        return;
    };
};
其中 myMethod 参数MyTemplate< typename U >指示使用不同类型实例化的类。这甚至可能吗?
我正在尝试使以下工作:
template< typename T >
class MyTemplate {
public:
    void myMethod( const MyTemplate< typename U > & )
    {
        return;
    };
};
其中 myMethod 参数MyTemplate< typename U >指示使用不同类型实例化的类。这甚至可能吗?
是的,这是可能的。语法如下:
template< typename T >
class MyTemplate {
public:
    template< typename U >
    void myMethod( const MyTemplate<U> & )
    {
        return;
    };
};
这是一个常见的构造。对于一些示例,请参见std::shared_ptr构造函数。