Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
"derived_class": Das Objektlayout unter
/vd2"ändert sich aufgrund der virtuellen Basis "base_class"
Bemerkungen
Diese Warnung ist standardmäßig deaktiviert. Weitere Informationen finden Sie unter Compiler Warnings That Are Off by Default.
Unter der Standardkompilierungsoption von /vd1 hat die abgeleitete Klasse kein vtordisp-Feld für die angegebene virtuelle Basis. Wenn /vd2 oder #pragma vtordisp(2) in Kraft ist, ist ein vtordisp Feld vorhanden und ändert das Objektlayout. Dieser Unterschied kann zu Binären Kompatibilitätsproblemen führen, wenn interaktionsfähige Module mit unterschiedlichen vtordisp Einstellungen kompiliert werden.
Beispiel
Im folgenden Beispiel wird C4435 generiert.
// C4435.cpp
// compile with: /c /W4
#pragma warning(default : 4435)
class A
{
public:
virtual ~A() {}
};
class B : public virtual A // C4435
{};