次の方法で共有


コンパイラの警告 (レベル 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