我在模板继承方面遇到了一个小问题。
如果我使用模板创建接口类:
template<typename Data>
class InterfaceClass {
private:
public:
virtual Data* foo() = 0; //some function that returns our template type
}
然后我创建了一个实现:
template<typename MoData>
class Implementation : public InterfaceClass<MoData> {
private:
public:
MoData* foo() { MoData* ptr = NULL; return ptr; } //some implementation
}
我似乎在我的编译器中遇到了这个问题。这不合法吗?