Compilerfehler C2553

Aktualisiert: November 2007

Fehlermeldung

'Basisfunktion': Der Rückgabetyp der überschreibenden virtuellen Funktion unterscheidet sich von 'Überschreibungsfunktion'
'base_function': overriding virtual function return type differs from 'override_function'

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