I'm having a small issue with template inheritance.
If I create an interface class with a template:
template<typename Data>
class InterfaceClass {
private:
public:
virtual Data* foo() = 0; //some function that returns our template type
}
Then I create an implementation of this:
template<typename MoData>
class Implementation : public InterfaceClass<MoData> {
private:
public:
MoData* foo() { MoData* ptr = NULL; return ptr; } //some implementation
}
I seem to have trouble with this working in my compiler. Is this not legal?