Jonathon,

GCC does not like declaring variables in a for statement. If you want to make 
the variable m have the scope for only the for loop, you would need:

foo()
{
        ...
        {
                int i, m;
                for (i=0, m=0; i<5; i++){...}
                printf("Final value of i: %d\n",i);
        }
        ...
}

If you don't mind the 'm' variable having the scope of its enclosing block, 
then you can omit the outer braces around the for.

— David

On Nov 12, 2009, at 2:29 PM, Jonathon Kuo wrote:

> I can't chance upon the right incantation for using both an existing variable 
> and an inline new one in a for loop. I've boiled this down to a trivial show 
> case, same results for both gcc 4.0.1 and 4.2.1:
> 
>  int i;
>   . . .
>  for (i=0, int m=0; i<5; i++) { . . . };
>  printf("Final value of i: %d\n",i);
> 
> error: syntax error before ‘int’
> error: syntax error before ‘)’ token
> 
> So I tried this:
> 
>  int i;
>   . . .
>  for (int m=0,i=0; i<5; i++) { . . . };
>  printf("Final value of i: %d\n",i);
> 
> error: redefinition of ‘i’
> 
> Is there a rule that ALL initialized loop variables are either new and local 
> to the loop, or that none are? Surely Im doing something wrong here!
> 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to