Re: Cocoa and C99
Re: Cocoa and C99
- Subject: Re: Cocoa and C99
- From: Andrew Farmer <email@hidden>
- Date: Mon, 6 Oct 2008 01:00:20 -0700
On 06 Oct 08, at 00:49, Gerriet M. Denkmann wrote:
In the old days I wrote:
int i; float f;
for( i = 0, f = 0.0; i < 5; i++, f+= 3.5 ) .....
Now I am trying to use the C99 style:
for( int i = 0, float f = 0.0; i < 5; i++, f+= 3.5 ) .....
But I am told: "parse error before 'float'".
Then I tried:
float f;
for( int i = 0, f = 0.0; i < 3; i++, f += 3.5 ) { printf("%g",f); };
But got: format '%g' expects type 'double', but argument 2 has type
'int'
and: unused variable 'f'
So: how to declare two variables of different type which are to be
valid only in a for-loop?
You can't. The C99 spec only allows you to make a single variable
declaration in a loop. If you need to declare multiple variables, do
that outside the loop.
(The warnings in your second example are because you declared two
variables named "f" - one float in the outer context, and an integer
in the for-loop context which shadows the float.)
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden
References: | |
| >Cocoa and C99 (From: "Gerriet M. Denkmann" <email@hidden>) |