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