Compiler Error C3240
'function' : must be a non-overloaded abstract member function of 'type'
A base type contained a function that was defined. Function must be virtual.
Example
The following sample generates C3240.
// C3240.cpp
// compile with: /c
__interface I {
void f();
};
struct A1 : I {
void f() {}
};
struct A2 : I {
void f() = 0;
};
template <class T>
struct A3 : T {
void T::f() {}
};
template <class T>
struct A4 : T {
void T::f() {}
};
A3<A1> x; // C3240
A3<I> x2;
A4<A2> x3;