Partager via


Avertissement du compilateur (niveau 4) C4435

'classe1' : la disposition des objets sous /vd2 sera modifiée en raison de la base virtuelle 'classe2'

Cet avertissement est désactivé par défaut. Consultez Avertissements du compilateur désactivés par défaut pour plus d'informations.

Sous l’option de compilation par défaut de /vd1, la classe dérivée n’a pas de vtordisp champ pour la base virtuelle indiquée. Si /vd2 ou #pragma vtordisp(2) est en vigueur, un vtordisp champ est présent, modifiant la disposition de l’objet. Cela peut entraîner des problèmes de compatibilité binaire si les modules qui interagissent sont compilés avec différents vtordisp paramètres.

Exemple

L’exemple suivant génère l’erreur C4435.

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

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

Voir aussi

vtordisp
/vd (Désactiver les déplacements de construction)