Using an iterator to print out every member of a set
c++, iterator, set
Solution
You have an extra `;` in this line:
for(iter=myset.begin(); iter!=myset.end();++iter);{
This means that the loop's body is actually empty, and the following lines are executed once only.
So change that line to this:
for(iter=myset.begin(); iter!=myset.end();++iter) {
Problem
I'm trying to use an iterator to print out every member of a set. As far as I can tell from other stackoverflow answers, I have the correct formatting. When I run this code, it correctly outputs that the size of myset is 3, but it only outputs ii once. If I uncomment the line with *iter, Visual Studio throws a runtime exception saying that that "map/set iterator is not dereferencable. Any idea why? ``` int main() { set<int> myset; myset.insert(5); myset.insert(6); myset.insert(7); set<int>::iterator iter; cout<<myset.size()<<endl; int ii=0; for(iter=myset.begin(); iter!=myset.end();++iter);{ //cout<<(*iter)<<endl; ii+=1; cout<<ii<<endl; } return 0; } ```