Condividi tramite


Avviso del compilatore C4485

'override_function': corrisponde al metodo della classe di riferimento di base 'base_class_function ', ma non è contrassegnato come 'new' o 'override'; Si presuppone 'new' (e 'virtual')

Una funzione di accesso esegue l'override, con o senza la virtual parola chiave , di una funzione di accesso della classe base, ma l'identificatore override o new non faceva parte della firma della funzione di override. Aggiungere l'identificatore o override per risolvere l'avvisonew.

Per altre informazioni, vedere Override e new (new slot in vtable).

C4485 viene sempre generato come errore. Usare il pragma di avviso per eliminare C4485.

Esempio

L'esempio seguente genera l'errore C4485

// C4485.cpp
// compile with: /clr
delegate void Del();

ref struct A {
   virtual event Del ^E;
};

ref struct B : A {
   virtual event Del ^E;   // C4485
};

ref struct C : B {
   virtual event Del ^E {
      void raise() override {}
      void add(Del ^) override {}
      void remove(Del^) override {}
   }
};