Partilhar via


Erro do compilador C3797

'override': a declaração de evento não pode ter o especificador override (deve ser colocado nos métodos add/remove/raise do evento)

Observações

Não é possível substituir um evento trivial (um evento sem métodos de acesso explicitamente definidos) por outro evento trivial. O evento de substituição deve definir seu comportamento com funções de acessador.

Para obter mais informações, consulte evento.

Example

O exemplo a seguir gera C3797.

// C3797.cpp
// compile with: /clr /c
delegate void MyDel();

ref class Class1 {
public:
   virtual event MyDel ^ E;
};

ref class Class2 : public Class1 {
public:
   virtual event MyDel ^ E override;   // C3797
};

// OK
ref class Class3 : public Class1 {
public:
   virtual event MyDel ^ E {
      void add(MyDel ^ d) override {}
      void remove(MyDel ^ d) override {}
   }
};