컴파일러 경고 C4485
'override_function': 기본 ref 클래스 메서드 'base_class_function'과 일치하지만 'new' 또는 'override'로 표시되지 않습니다. 'new'(및 'virtual')가 가정됩니다.
접근자는 키워드를 사용하거나 사용하지 않고 virtual
기본 클래스 접근자 함수를 재정의하지만 override
, 또는 new
지정자는 재정의 함수 서명의 일부가 아닙니다. new
이 경고를 해결하려면 또는 override
지정자를 추가합니다.
자세한 내용은 재정의 및 새로 만들기(vtable의 새 슬롯)를 참조하세요.
C4485는 항상 오류로 발급됩니다. 경고 pragma를 사용하여 C4485를 표시하지 않습니다.
예시
다음 샘플에서는 C4485를 생성합니다.
// C4485.cpp
// compile with: /clr
delegate void Del();
ref struct A {
virtual event Del ^E;
};
ref struct B : A {
virtual event Del ^E; // C4485
};
ref struct C : B {
virtual event Del ^E {
void raise() override {}
void add(Del ^) override {}
void remove(Del^) override {}
}
};