'derived_class': 가상 베이스 '
/vd2'로 인해 아래의 개체 레이아웃 이 변경됩니다.
비고
기본적으로 이 경고는 해제되어 있습니다. 자세한 내용은 Compiler Warnings That Are Off by Default을 참조하세요.
기본 컴파일 옵션 /vd1에서 파생 클래스에는 vtordisp 표시된 가상 베이스에 대한 필드가 없습니다.
/vd2 또는 #pragma vtordisp(2)이 적용되는 경우, vtordisp 필드가 존재하여 개체 레이아웃을 변경합니다. 이러한 차이로 인해 상호 작용하는 모듈이 다른 vtordisp 설정으로 컴파일되는 경우 이진 호환성 문제가 발생할 수 있습니다.
예시
다음 예제에서는 C4435를 생성합니다.
// C4435.cpp
// compile with: /c /W4
#pragma warning(default : 4435)
class A
{
public:
virtual ~A() {}
};
class B : public virtual A // C4435
{};