Udostępnij za pośrednictwem


Ostrzeżenie kompilatora (poziom 4) C4435

"class1": zmieni układ obiektu pod /vd2 z wirtualnego base "class2"

To ostrzeżenie jest domyślnie wyłączona.Zobacz Ostrzeżenia kompilatora, które są domyślnie wyłączone Aby uzyskać więcej informacji.

W obszarze domyślne skompilować opcja /vd1, w klasie pochodnej nie ma vtordisp pola wskazane wirtualny bazy.Jeśli /vd2 lub #pragma vtordisp(2) , vtordisp pola będą obecne, zmiana układu obiektu.Może to prowadzić do problemów ze zgodnością binarne Jeśli oddziałujących moduły są kompilowane z różnymi vtordisp ustawienia.

Przykład

Poniższy przykład generuje C4435.

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

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

Zobacz też

Informacje

vtordisp

/VD (Wyłącz budowy przesunięcia)