다음을 통해 공유


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

'function': ref 클래스 또는 값 클래스의 프라이빗 가상 메서드는 'sealed'로 표시되어야 합니다.

관리되는 클래스 또는 구조체의 프라이빗 가상 멤버 함수에 액세스하거나 재정의할 수 없으므로 봉인된 것으로 표시되어야 합니다.

예제

다음 샘플에서는 C4486을 생성합니다.

// C4486.cpp
// compile with: /clr /c /W1
ref class B {
private:
   virtual void f() {}   // C4486
   virtual void f1() sealed {}   // OK
};

다음 샘플에서는 프라이빗 봉인된 가상 함수를 사용할 수 있는 한 가지 방법을 보여줍니다.

// C4486_b.cpp
// compile with: /clr /c
ref class B {};

ref class D : B {};

interface class I {
   B^ mf();
};

ref class E : I {
private:
   virtual B^ g() sealed = I::mf {
      return gcnew B;
   }

public:
   virtual D^ mf() {
      return gcnew D;
   }
};