Avertissement du compilateur (niveau 1) C4374

'function1' : la méthode d’interface ne sera pas implémentée par la méthode non virtuelle 'function2'

Le compilateur s’attendait à trouver la mot clé virtuelle sur une définition de méthode.

L’exemple suivant génère l’erreur 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