Compartilhar via


Erro do compilador C3650

'interface_method' : não pode ser usado como uma substituição explícita, deve ser uma função de membro virtual de uma classe base

Observações

Foi feita uma tentativa de executar uma substituição explícita em um membro que não era virtual.

Para obter mais informações, confira Substituições explícitas.

Example

O exemplo a seguir gera 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
};