컴파일러 경고(수준 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;
}
};