Avviso del compilatore (livello 1) C4374
'function1': il metodo di interfaccia non verrà implementato dal metodo non virtuale 'function2'
Il compilatore dovrebbe trovare la parola chiave virtuale in una definizione di metodo.
L'esempio seguente genera l'errore 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