Aviso do compilador (nível 4) C4435
“class1”: O layout de um objeto em /vd2 será alterado devido à base virtual “class2”
Esse aviso é por padrão.Consulte Avisos do compilador são desativados por padrão para maiores informações.
Sob a opção para compilar a opção /vd1, a classe derivada não tem um campo de vtordisp para a base virtual indicada.Se /vd2 ou #pragma vtordisp(2) são na verdade, um campo de vtordisp estiver presente, alterar o layout do objeto.Isso pode levar a problemas de compatibilidade binário se interagindo módulos é compilado com diferentes configurações de vtordisp .
Exemplo
O exemplo a seguir produz C4435.
// C4435.cpp
// compile with: /c /W4
#pragma warning(default : 4435)
class A
{
public:
virtual ~A() {}
};
class B : public virtual A // C4435
{};