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


Предупреждение компилятора (уровень 1) C4488

Function: требует ключевое слово "ключевое слово" для реализации метода интерфейса "interface_method".

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

Примеры

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

// C4488.cpp
// compile with: /clr /c /W1 /WX
interface struct MyI {
   void f1();
};

// implemented member not public
ref class B : MyI { virtual void f1() {} };  // C4488

// OK
ref class C : MyI {
public:
   virtual void f1() {}
};

C4488 может возникать, если реализованный член не помечен виртуальным. Следующий пример приводит к возникновению ошибки C4488.

// C4488_b.cpp
// compile with: /clr /c /W1 /WX
interface struct MyI {
   void f1();
};

ref struct B : MyI { void f1() {} };   // C4488
ref struct C : MyI { virtual void f1() {} };   // OK