编译器警告(等级 1)C4488

“function”:需要“keyword”关键字来实现接口方法“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