Compartir vía


Advertencia del compilador (nivel 4) C4435

"class1": la distribución de objetos de /vd2 cambiará debido a la base virtual "class2"

De forma predeterminada, esta advertencia está desactivada. Vea Advertencias del compilador desactivadas de forma predeterminada para más información.

En la opción de compilación predeterminada de /vd1, la clase derivada no tiene un campo vtordisp para la base virtual indicada. Si /vd2 o #pragma vtordisp(2) están implementados, un campo vtordisp estará presente, lo que cambiará el diseño del objeto. Esto puede provocar problemas de compatibilidad binaria si los módulos que interactúan se compilan con diferentes valores de vtordisp.

Ejemplo

El ejemplo siguiente genera el error C4435.

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

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

Consulte también

vtordisp
/vd (Deshabilitar desplazamientos de constructores)