Again, I don't claim to be the ANSI C++ expert, but the patch says:
For example, this is perfectly legal C++:
for (int i=0; i > 10; i++) {
printf("i is %d \n", i);
}
printf("I is now %d \n", i);
... but I really don't think it is. :) The ANSI C++ drafts I could
find (I should buy the ANSI/ISO standard to stick on my bookshelf)
say i should not be visible outside the loop. In short, if you want
to use it, declare it before the for(). By this it seems MetroWorks
C++ is very ANSI/ISO compliant. EGCS also tells you not to do this:
thing.c: In function `int main()':
thing.c:8: warning: name lookup of `i' changed for new ANSI `for'
scoping
thing.c:5: warning: using obsolete binding at `i'
-- Shaw Terwilliger