First, always try to come up with a typical use of STL, you can go for a raise. Here is a more simplified form from Charles's above answer.
vec_loc = find_if(v3.begin(), v3.end(), isOdd); if (vec_loc != v3.end()) { cout << "odd elem. found at " << (vec_loc - v3.begin()) << "and elem found is " << *vec_loc << endl; ++vec_loc; } for (;vec_loc != v3.end();vec_loc++) { vec_loc = find_if(vec_loc, v3.end(), isOdd); if (vec_loc == v3.end()) break; cout << "odd elem. found at " << (vec_loc - v3.begin()) << "and elem found is " << *vec_loc << endl; }
source share