Compiler Error C3240
Visual Studio 2015
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at 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.
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;
Show: