Partager via


Avertissement du compilateur (niveau 4, désactivé) C4435

'derived_class' : la disposition de l’objet sous /vd2 changera à cause de la base virtuelle 'base_class'

Remarques

Cet avertissement est désactivé par défaut. Pour plus d'informations, consultez Compiler Warnings That Are Off by Default.

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. Cette différence 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)