/vmb/vmg (処理形式)

クラス メンバーへのポインターを表すためにコンパイラーで使用されるメソッドを選択します。

構文

/vmb
/vmg

[オプション]

/vmb は、コンパイラの既定の動作です。 その動作は #pragma pointers_to_members(best_case) と同じです。 完全な型が必要とされることも、保証されることもありません。 完全な型については、クラス型の継承に基づいて、単一、複数、または仮想継承の中から最適な表現を使用します。 不完全な型については、最大かつ最も一般的な表現が使用されます。

/vmg は、/vmm/vms/vmv (汎用的な処理) と組み合わせることで、クラスを定義する前にそのクラスのメンバーにポインターを宣言するよう、コンパイラの動作を指定できます。 これは、互いを参照する 2 つの異なるクラスでメンバーを定義する場合に必要になることがあります。 このような相互参照を行うクラスでは、1 つのクラスが定義される前に参照される必要があります。

解説

コードで #pragma pointers_to_members または継承キーワードを使用して、ポインター表現を指定することもできます。

Visual Studio 開発環境でこのコンパイラ オプションを設定するには

  1. プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。

  2. [構成プロパティ]>[C/C++]>[コマンド ライン] プロパティ ページを選択します。

  3. [追加のオプション] ボックスにコンパイラ オプションを入力します。

このコンパイラ オプションをコードから設定するには

関連項目

MSVC コンパイラ オプション
MSVC コンパイラのコマンド ライン構文