Compartir a través de


Error del compilador C3650

'método_de_interfaz': no se puede utilizar como invalidación explícita; debe ser una función miembro virtual de una clase base

Se ha intentado realizar una invalidación explícita en un miembro que no era virtual.

Para obtener más información, consulte Invalidaciones explícitas.

El ejemplo siguiente genera el error C3650:

// C3650.cpp
// compile with: /clr
public interface struct I {
   void a();
};

public ref class S {
public:
   static int f() { return 0; }
   static int g() { return 0; }
};

public ref struct T1 : public S, I {
   virtual int f() new sealed = S::f;   // C3650
   virtual int g() { return 0; }   // OK does not override S::g
   virtual void a() new sealed = I::a {}   // OK
};