Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
'derived_class': Rozložení objektu se
/vd2změní z důvodu virtuální základny base_class
Poznámky
Toto upozornění je ve výchozím nastavení vypnuté. Další informace najdete v tématu Upozornění kompilátoru, která jsou ve výchozím nastavení vypnutá.
V rámci výchozí možnosti /vd1kompilace odvozená třída nemá vtordisp pole pro uvedenou virtuální základnu. Pokud /vd2 nebo #pragma vtordisp(2) je v platnosti, vtordisp je pole přítomno a mění rozložení objektu. Tento rozdíl může vést k problémům s binární kompatibilitou, pokud jsou interakce modulů zkompilovány s různými vtordisp nastaveními.
Příklad
Následující příklad vygeneruje C4435.
// C4435.cpp
// compile with: /c /W4
#pragma warning(default : 4435)
class A
{
public:
virtual ~A() {}
};
class B : public virtual A // C4435
{};