다음을 통해 공유


컴파일러 경고(수준 1) C4488

'function': 인터페이스 메서드 'interface_method'을 구현하려면 'keyword' 키워드가 필요합니다.

클래스는 직접 상속되는 인터페이스의 모든 멤버를 구현해야 합니다. 구현된 멤버는 공용 접근성이 있어야 하며 가상으로 표시되어야 합니다.

예제

구현된 멤버가 공용이 아닌 경우 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