クラスの特殊化を記述しているときに問題 (エラー 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
}
エラーは、残りの特殊化にも表示されます。