我在为一个类编写专业化时遇到了一个问题(错误 C2761)。我的课程如下:
class Print{
public:
typedef class fontA;
typedef class fontB;
typedef class fontC;
typedef class fontD;
template<class T>
void startPrint(void) { return; };
virtual bool isValidDoc(void) = 0;
};
我有一个QuickPrint
继承类的Print
类:
class QuickPrint : public Print {
...
};
当我尝试为该startPrint
方法编写特化时发生错误:
template<> // <= C2716 error given here
void QuickPrint::startPrint<fontA>(void)
{
/// implementation
}
template<> // <= C2716 error given here
void QuickPrint::startPrint<fontB>(void)
{
/// implementation
}
其余专业也会出现该错误。