共用方式為


編譯器警告 (層級 1) C4258

'variable' :忽略 for 迴圈的定義;會使用封入範圍中的定義」

/Ze/Zc:forScope 底下,for 迴圈中定義的變數會在迴圈結束之後for超出範圍。 如果變數的名稱與迴圈變數相同,但在包含迴圈的範圍 for 中再次使用,就會發生這個警告。 例如:

// C4258.cpp
// compile with: /Zc:forScope /W1
int main()
{
   int i;
   {
      for (int i =0; i < 1; i++)
         ;
      i = 20;   // C4258 i (in for loop) has gone out of scope
   }
}