Поделиться через


Ошибка компилятора C2553

"base_function": переопределение типа возвращаемой функции отличается от типа "override_function".

Замечания

Функция в производном классе пыталась переопределить виртуальную функцию в базовом классе, но производная функция класса не имеет того же типа возвращаемого значения, что и функция базового класса. Сигнатура функции переопределения должна соответствовать сигнатуре переопределенной функции.

Example

Следующий пример приводит к возникновению ошибки 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;
};