Compiler Warning (level 1) C4288
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) C4288

nonstandard extension used : 'var' : loop control variable declared in the for-loop is used outside the for-loop scope; it conflicts with the declaration in the outer scope

When compiling with /Ze, a variable declared in a for loop was used after the for-loop scope. A Microsoft extension to the C++ language allows this variable to remain in scope, and C4288 reminds you that the first declaration of the variable is not used.

See /Zc:forScope for information about how to specify standard behavior in for loops with /Ze.

The following sample generates C4288:

// C4288.cpp
// compile with: /W1 /c
int main()
   int i = 0;    // not used in this program
   for (int i = 0 ; ; )
   i++;   // C4288, using for-loop declaration of i
© 2015 Microsoft