Condividi tramite


Errore del compilatore C2553

'base_function': l'override del tipo restituito della funzione virtuale differisce da 'override_function'

Una funzione in una classe derivata ha tentato di eseguire l'override di una funzione virtuale in una classe base, ma la funzione di classe derivata non ha lo stesso tipo restituito della funzione della classe base. Una firma di funzione di override deve corrispondere alla firma della funzione sottoposta a override.

L'esempio seguente genera l'errore C2553:

// C2553.cpp
// compile with: /clr /c
ref struct C {
   virtual void f();
};

ref struct D : C {
   virtual int f() override ;   // C2553

   // try the following line instead
   // virtual void f() override;
};