컴파일러 경고(수준 4, 해제) C4266
'function': 기본 'type'에서 가상 멤버 함수에 사용할 수 있는 재정의 없음 함수가 숨겨져 있습니다.
파생 클래스가 가상 함수의 모든 오버로드를 재정의하지는 않았습니다.
기본적으로 이 경고는 해제되어 있습니다. 자세한 내용은 Compiler Warnings That Are Off by Default을 참조하세요.
다음 샘플에서는 C4266을 생성합니다.
// C4266.cpp
// compile with: /W4 /c
#pragma warning (default : 4266)
class Engine {
public:
virtual void OnException(int&,int);
virtual void OnException(int&,int&,int);
};
class LocalBinding : private Engine {
virtual void OnException(int&,int);
}; // C4266
해결 방법:
// C4266b.cpp
// compile with: /W4 /c
#pragma warning (default : 4266)
class Engine {
public:
virtual void OnException(int&,int);
virtual void OnException(int&,int&,int);
};
class LocalBinding : private Engine {
virtual void OnException(int&,int);
virtual void OnException(int&, int&, int);
};