Compilerfehler C2553

'Basisfunktion': Der Rückgabetyp der überschreibenden virtuellen Funktion unterscheidet sich von 'Überschreibungsfunktion'

Eine Funktion in einer abgeleiteten Klasse hat versucht, eine virtuelle Funktion in einer Basisklasse zu überschreiben, die abgeleitete Klassenfunktion hatte jedoch einen anderen Rückgabetyp als die Basisklassenfunktion.Die Signatur einer Überschreibungsfunktion muss mit der Signatur der überschriebenen Funktion übereinstimmen.

Im folgenden Beispiel wird C2553 generiert:

// 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;
};