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. Pour plus d'informations, consultez Avertissements du compilateur désactivés par défaut.
Dans l'option de compilation par défaut de /vd1, la classe dérivée n'a pas de champ de vtordisp pour la base virtuelle indiquée. Si /vd2 ou #pragma vtordisp(2) est activé, un champ de vtordisp sera présent, modifiant la disposition de l'objet. Cela peut provoquer des problèmes de compatibilité binaire si les modules en interaction sont compilés avec des paramètres de vtordisp différents.
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
{};