Avviso del compilatore (livello 4) C4435

“classe1": Il layout dell'oggetto in /vd2 cambia a causa di base virtuale “classe2"

Per impostazione predefinita, questo avviso non è attivo.Per ulteriori informazioni, vedere Avvisi del compilatore disinseriti per impostazione predefinita.

Nell'impostazione predefinita compilare l'opzione /vd1, la classe derivata non ha un campo vtordisp per la base virtuale visualizzata.Se /vd2 o #pragma vtordisp(2) è in effetti, un campo vtordisp sarà presente, modifica il layout di.Questo può causare problemi di compatibilità binaria se i componenti interagenti vengono compilati con impostazioni vtordisp.

Esempio

Il codice di esempio seguente genera l'errore C4435.

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

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

Vedere anche

Riferimenti

vtordisp

/vd (Disabilita spostamenti costruttori)