編譯器警告 (層級 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
{};