Compartilhar via


Aviso do compilador (nível 4) C4435

'class1' : layout do objeto em /vd2 será alterado devido à base virtual 'class2'

Esse aviso está desativado por padrão. Confira Avisos do compilador desativados por padrão para obter mais informações.

Na opção de compilação padrão de /vd1, a classe derivada não tem um campo vtordisp para a base virtual indicada. Se /vd2 ou #pragma vtordisp(2) estiver em vigor, um campo vtordisp estará presente, alterando o layout do objeto. Isso pode levar a problemas de compatibilidade binária se módulos de interação forem compilados com configurações vtordisp diferentes.

Exemplo

O exemplo a seguir gera o aviso C4435.

// C4435.cpp
// compile with: /c /W4
#pragma warning(default : 4435)
class A
{
public:
    virtual ~A() {}
};

class B : public virtual A  // C4435
{};

Confira também

vtordisp
/vd (desabilitar deslocamentos de construção)