コンパイラの警告 (レベル 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
}