Compiler Warning (level 1) C4258
Collapse the table of content
Expand the table of content
The document is archived and information here might be outdated

Compiler Warning (level 1) C4258

Error Message

'variable' : definition from the for loop is ignored; the definition from the enclosing scope is used"

Under /Ze and /Zc:forScope, variables defined in a for loop go out of scope after the for loop ends. This warning occurs if a variable with the same name as the loop variable, but defined in the enclosing loop, is used again in the scope containing the for loop. For example:

// 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
© 2016 Microsoft