編譯器警告 (層級 4) C4435

'class1' : /vd2 底下的物件配置將因虛擬基底 'class2' 而變更

此警告在預設情況下為關閉的。 如需詳細資訊,請參閱預設為關閉的編譯器警告

在預設編譯的 /vd1 選項,衍生類別沒有指示虛擬基底的 vtordisp 欄位。如果 /vd2 或 #pragma vtordisp(2) 生效, vtordisp 欄位會出現,變更物件配置。如果互動的編譯的模組不同的 vtordisp 設定,這會導致二進位碼相容性問題。

範例

下列範例會產生 C4435。

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

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

請參閱

參考

vtordisp

/vd (停用建構替代)