需要一些关于模板成员函数特化的帮助,如下代码;
class Base
{
public:
template <int> void MyFunc();
};
class Object : public Base
{
public:
//template <int> void MyFunc(); // with this works !!!
template <> void MyFunc<3>()
{
}
};
谢谢! !
你不能。
原因是当编译器看到Object的声明时,它对Base的模板函数一无所知。所以它不能为Object生成MyFunc的专门化。
唯一的方法是在基类中声明MyFunc的专门化。
成员函数模板不能被继承。