次の方法で共有


コンパイラの警告 (レベル 1) C4288

非標準の拡張が使用されています: ''var'': for-loop 内で宣言したループ コントロール変数が for-loop スコープの外側で使用されています。外側のスコープの宣言と競合しています

/Ze および /Zc:forscope- を指定してコンパイルしましたが、for ループで宣言された変数が for-loop スコープよりも後の個所で使用されています。 C++ 言語に対する Microsoft 拡張機能により、この変数はスコープ内にとどまることができ、C4288 は、変数の最初の宣言が使用されていないことを通知します。

/Ze を使用して for ループで Microsoft 拡張機能を指定する方法については、「/Zc:forScope」を参照してください。

次の例では C4288 が生成されます。

// C4288.cpp
// compile with: /W1 /c /Zc:forScope-
int main() {
   int i = 0;    // not used in this program
   for (int i = 0 ; ; ) ;
   i++;   // C4288 using for-loop declaration of i
}