Declarations in a for loop

Eljay Love-Jensen eljay@adobe.com
Wed May 18 16:04:00 GMT 2005


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..

HTH,
--Eljay



More information about the Gcc-help mailing list