我有一个带有模板方法的类,该方法的参数定义了返回类型。其他所有的默认构造函数都可以,但是对于bool,我希望该方法返回true。我正在尝试将其专门化为以下代码,但这无法编译。
class Foo {
template <class T>
T method() {
...
return T();
}
template<>
bool method() {
...
return true;
}
};
我该如何实现?
您不能专门研究类范围。根据C ++标准,
14.7.3 / 2必须在封闭专用模板的名称空间中声明显式专用。
因此,您应该在名称空间范围内专门使用模板成员函数,
template<> // this should be outside the primary template class definition
bool Foo::method() {
return true;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句