Sdílet prostřednictvím


Upozornění kompilátoru (úroveň 4) C4435

"třída1": z důvodu virtuální base "třída2" se změní rozložení objektů v /vd2

Toto upozornění je vypnuto ve výchozím nastavení.Další informace naleznete v tématu Upozornění kompilátoru, která jsou ve výchozím natavení vypnuta..

Ve skupinovém rámečku výchozí kompilaci možnost /vd1, odvozené třídy nemá vtordisp pro zadaný virtuální base. Pokud /vd2 nebo #pragma vtordisp(2) je ve skutečnosti vtordisp pole bude k dispozici, změna rozložení objektů. To může vést k problémům s kompatibilitou binární Pokud vzájemně komunikující moduly jsou kompilovány s různými vtordisp nastavení.

Příklad

Následující ukázka generuje upozornění C4435.

// C4435.cpp
// compile with: /c /W4
#pragma warning(default : 4435)
class A
{
public:
    virtual ~A() {}
};

class B : public virtual A  // C4435
{};

Viz také

Referenční dokumentace

vtordisp

/vd (Zakázat posunutí konstrukcí)