编译器警告(等级 1)C4374
“function1”:接口方法不会由非虚拟方法“function2”来实现
编译器应在方法定义中找到 virtual 关键字。
下面的示例生成 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