次の方法で共有


コンパイラの警告 (レベル 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 (ディスプレイスメントの無効化)