Чтобы этот пример работал, используйте итератор, который поддерживается последовательностью, например vector
:
std::vector<int> foo(10); // 10 times 0
std::vector<int>::iterator it1 = foo.begin();
std::vector<int>::iterator it2 = foo.end();
while(++it1 != it2) {
// do stuff
}
Обратите внимание, что это не канонический способ перебора коллекции. Это также сложно, потому что пропускает первый элемент последовательности. Используйте это:
for(std::vector<int>::iterator it = foo.begin(); it != foo.end(); it++) {
// do stuff
}