Compiler Warning (level 1) C4374
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 Warning (level 1) C4374.
function1': interface method will not be implemented by non-virtual method 'function2'
The compiler expected to find the virtual keyword on a method definition.
The following sample generates C4374:
// C4374.cpp
// compile with: /clr /W1 /c /WX
public interface class I {
void f();
};
public ref struct B {
void f() {
System::Console::WriteLine("B::f()");
}
};
public ref struct C {
virtual void f() {
System::Console::WriteLine("C::f()");
}
};
public ref struct D : B, I {}; // C4374
public ref struct E : C, I {}; // OK
Show: