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