Bagikan melalui


Compiler Warning (level 4) C4435

'class1' : Tata letak objek di bawah /vd2 akan berubah karena basis virtual 'class2'

Peringatan ini nonaktif secara default. Lihat Peringatan Pengkompilasi yang Nonaktif secara Default untuk informasi selengkapnya.

Di bawah opsi kompilasi default /vd1, kelas turunan tidak memiliki vtordisp bidang untuk basis virtual yang ditunjukkan. Jika /vd2 atau #pragma vtordisp(2) berlaku, vtordisp bidang akan ada, mengubah tata letak objek. Hal ini dapat menyebabkan masalah kompatibilitas biner jika modul yang berinteraksi dikompilasi dengan pengaturan yang berbeda vtordisp .

Contoh

Sampel berikut menghasilkan C4435.

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

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

Baca juga

vtordisp
/vd (Nonaktifkan Perpindahan Konstruksi)