/vmb
、/vmg
(処理形式)
クラス メンバーへのポインターを表すためにコンパイラーで使用されるメソッドを選択します。
構文
/vmb
/vmg
[オプション]
/vmb
は、コンパイラの既定の動作です。 その動作は #pragma pointers_to_members(best_case)
と同じです。 完全な型が必要とされることも、保証されることもありません。 完全な型については、クラス型の継承に基づいて、単一、複数、または仮想継承の中から最適な表現を使用します。 不完全な型については、最大かつ最も一般的な表現が使用されます。
/vmg
は、/vmm
、/vms
、/vmv
(汎用的な処理) と組み合わせることで、クラスを定義する前にそのクラスのメンバーにポインターを宣言するよう、コンパイラの動作を指定できます。 これは、互いを参照する 2 つの異なるクラスでメンバーを定義する場合に必要になることがあります。 このような相互参照を行うクラスでは、1 つのクラスが定義される前に参照される必要があります。
解説
コードで #pragma pointers_to_members
または継承キーワードを使用して、ポインター表現を指定することもできます。
Visual Studio 開発環境でこのコンパイラ オプションを設定するには
プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。
[構成プロパティ]>[C/C++]>[コマンド ライン] プロパティ ページを選択します。
[追加のオプション] ボックスにコンパイラ オプションを入力します。
このコンパイラ オプションをコードから設定するには
- 以下を参照してください。AdditionalOptions