a real strange C4288

  • Thread starter Thread starter maxim khesin
  • Start date Start date
M

maxim khesin

I was working on some code that compiled with vc6, eg.g

for(int i;i<x;);
if(i<j)
{// etc

which I rewrote to

int i = 0;
for(i = n;i<x;);
if(i<j)
{// etc

to make it more compliant, but strangely I got a
warning C4288: nonstandard extension used : 'i' : loop control variable
declared in the for-loop is used outside the for-loop scope; it
conflicts with the declaration in the outer scope

This is boggling my mind, because i is NOT declared in the for-loop. Any
ideas?

thanks,
max
 
I was working on some code that compiled with vc6, eg.g
for(int i;i<x;);
if(i<j)
{// etc

which I rewrote to

int i = 0;
for(i = n;i<x;);
if(i<j)
{// etc

to make it more compliant, but strangely I got a
warning C4288: nonstandard extension used : 'i' : loop control variable
declared in the for-loop is used outside the for-loop scope; it
conflicts with the declaration in the outer scope

This is boggling my mind, because i is NOT declared in the for-loop. Any
ideas?

Have you got a complete compilable snippet that illustrates the
problem?

Dave
 
Just check if 'i' is not re-declared in the for loop. Else add the compiler option /Zc:forScope which will tell that the standard C++ behavior of for loop to be followed in the program.

Balaji
 
Back
Top