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 に答える