0

パラメータを取らないように特化したい可変個引数のテンプレート化されたクラスがあり、クラス宣言の外でメソッドを定義したいと考えています。

しかし、次のようになります

error: template-id ‘foobar<>’ for ‘foobar<>::foobar()’ does not 
match any template declaration

私は何を間違っていますか?

template <typename ...> class foobar;

template <>
class foobar <> 
{
    foobar();
};

//does not work!?
template <>
foobar<>::foobar() {};
4

1 に答える 1

2

コンストラクターは、完全な特殊化の非テンプレート メンバーであるため、テンプレートではありませんtemplate。そのため、宣言には必要ありません。

// does work
foobar<>::foobar() {}
于 2013-08-09T06:20:49.737 に答える