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
{};