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
{};