Udostępnij za pomocą


Błąd kompilatora C2553

"base_function": zastępowanie typu zwracanego funkcji wirtualnej różni się od "override_function"

Uwagi

Funkcja w klasie pochodnej próbowała zastąpić funkcję wirtualną w klasie bazowej, ale funkcja klasy pochodnej nie miała tego samego typu zwracanego co funkcja klasy bazowej. Podpis funkcji przesłonięcia musi być zgodny z podpisem zastępowanej funkcji.

Example

Poniższy przykład generuje kod 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;
};