Compiler Warning (level 1) C4258
Collapse the table of content
Expand the table of content
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

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
© 2015 Microsoft