Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
"derived_class": Objektlayouten under
/vd2ändras på grund av den virtuella basen "base_class"
Anmärkningar
Den här varningen är inaktiverad som standard. Mer information finns i Kompilatorvarningar som är inaktiverade som standard.
Under standardkompileringsalternativet för /vd1har vtordisp den härledda klassen inget fält för den angivna virtuella basen. Om /vd2 eller #pragma vtordisp(2) är i kraft finns ett vtordisp fält som ändrar objektlayouten. Den här skillnaden kan leda till problem med binär kompatibilitet om interagerande moduler kompileras med olika vtordisp inställningar.
Example
I följande exempel genereras C4435.
// C4435.cpp
// compile with: /c /W4
#pragma warning(default : 4435)
class A
{
public:
virtual ~A() {}
};
class B : public virtual A // C4435
{};