Aaron Lehmann wrote:
> 
> I summerized the description of the metrowerks problem and added it to the
> programmer guidelines. here's the patch:

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

Reply via email to