[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Declarations in a for loop
From: |
Fred Labrosse |
Subject: |
Re: Declarations in a for loop |
Date: |
Wed, 18 May 2005 17:35:42 +0100 |
On Wed, 18 May 2005 11:06:23 -0500
Eljay Love-Jensen <address@hidden> wrote:
> Hi Fred,
>
> >However, if I declare index and doublesIter before the for, then all
> >works fine. Is that a bug?
>
> Nope, not a bug. What you have here is a case of bad C++ code.
>
> #1
> int x, y; // This is good.
>
> #2
> int x; std::vector<double>::iterator y; // This is good.
>
> #3
> std::vector<double>::iterator x, y; // This is good.
>
> #4
> int x, std::vector<double>::iterator y; // This is not good.
>
> You can't put #2 in a for-loop initialization expression (since it's
> two expressions).
>
> #1 and #3 won't do what you want.
>
> #4 isn't C++, whether inside or outside of a for-loop initialization
> expression..
But you can have:
for (int i, int j; ...)
Seen examples of that in Josuttis' OO programming in C++ (while I was
verifying whether I could have several declerations in the for).
Fred