What I want to do is just iterate a std::list except for the last element. What I am trying:
#include <cstdlib>
#include <list>
int main() {
std::list<int> *list = new std::list<int>(100);
std::list<int>::iterator it;
for (it = list->begin(); it != list->end()-1; it++) {
// some action here...
}
}
However, this will not work. What is wrong?
std::listuses a bidirectional iterator, which doesn’t supportoperator-. Usestd::previnstead: