This code won't compile:
for(vector<Box>::iterator it = shapes.end(); it >= shapes.begin(); --it){
*it.update(1,1);
*it.draw();
}
It claims:
main.cpp:80:17: error: ‘std::vector<Box>::iterator’ has no member named ‘update’
main.cpp:81:17: error: ‘std::vector<Box>::iterator’ has no member named ‘draw’
However AFAIK, that code doesn't try and call vector::iterator.draw(), it dereferences the iterator, which should give me an object of my class box, which does have those methods. What am I doing wrong, and sorry for the awful title.