Delen via


Compilerwaarschuwing (niveau 4, uit) C4435

'derived_class': de objectindeling onder /vd2 wordt gewijzigd vanwege de virtuele basis 'base_class'

Opmerkingen

Deze waarschuwing is standaard uitgeschakeld. Zie Compilerwaarschuwingen die standaard zijn uitgeschakeld voor meer informatie.

Onder de standaardcompilatieoptie van /vd1heeft de afgeleide klasse geen vtordisp veld voor de aangegeven virtuele basis. Als /vd2 of #pragma vtordisp(2) in werking is, is er een vtordisp veld aanwezig, waarbij de objectindeling wordt gewijzigd. Dit verschil kan leiden tot binaire compatibiliteitsproblemen als interactie met modules met verschillende vtordisp instellingen wordt gecompileerd.

Example

In het volgende voorbeeld wordt C4435 gegenereerd.

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

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

Zie ook

vtordisp
/vd (Bouwverplaatsingen uitschakelen)