如何在声明之外定义一个专用于无参数的可变参数模板类的C ++方法?

时间:2013-08-09 05:46:09

标签: c++ templates template-specialization

我有一个可变模板类,我想专门用于不带参数,然后我想在类声明之外定义方法。

但以下是

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() {};

1 个答案:

答案 0 :(得分:2)

构造函数不是模板,因为它是完全特化的非模板成员,因此它的声明中不需要template

// does work
foobar<>::foobar() {}