1

我正在尝试使以下工作:

template< typename T >
class MyTemplate {
public:

    void myMethod( const MyTemplate< typename U > & )
    {
        return;
    };

};

其中 myMethod 参数MyTemplate< typename U >指示使用不同类型实例化的类。这甚至可能吗?

4

1 回答 1

8

是的,这是可能的。语法如下:

template< typename T >
class MyTemplate {
public:

    template< typename U >
    void myMethod( const MyTemplate<U> & )
    {
        return;
    };

};

这是一个常见的构造。对于一些示例,请参见std::shared_ptr构造函数

于 2013-08-27T16:53:41.193 回答