/Zc:auto (変数の型の推測)
/Zc:auto[-] コンパイラ オプションには、コンパイラに対し、変数の宣言に auto キーワードを使用する方法を指定します。既定のオプションである /Zc:auto を指定した場合、コンパイラでは、宣言した変数の型が初期化子式の型から推測されます。 /Zc:auto- を指定した場合、コンパイラは変数をローカルな寿命クラスに割り当てます。
/Zc:auto[-]
解説
C++ 標準では、auto キーワードの元の意味と変更後の意味が定義されます。Visual C++ 2010 より前のバージョンでは、このキーワードは、ローカルな寿命クラスの変数、つまりローカルの有効期間を持つ変数を宣言します。Visual C++ 2010 以降、このキーワードは宣言の初期化子式から変数の型を推測します。コンパイラで auto キーワードの元の意味と変更後の意味を使用するように指定するには、/Zc:auto[-] コンパイラ オプションを使用します。
現在のコンパイラ オプションと矛盾する auto キーワードを使用すると、コンパイラで該当する診断メッセージが出力されます。詳細については、「auto キーワード」を参照してください。Visual C++ の準拠の問題の詳細については、「Visual C++ の互換性と準拠の問題」を参照してください。
このコンパイラ オプションを Visual Studio で使用するには
プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。詳細については、「プロジェクト設定の変更」を参照してください。
[構成プロパティ] ノードをクリックします。
[C/C++] ノードをクリックします。
[コマンド ライン] ノードをクリックします。
/Zc:auto または /Zc:auto- を [追加のオプション] ウィンドウに追加します。