Я работаю над проектом, в котором я помещаю перечисление в вектор. и мне было интересно, как я мог получить такую функциональность из вектора.
for(int ii = 0; ii < thing.getSize(); ii++){
cout << "thing(" << ii << ") = " << toString(thing[ii]) << endl;
}
Я пробовал около 5 различных способов сделать это, и ни один из них, похоже, не работает. Я прочитал MSDN vector (vector :: end () казался наиболее полезным, пока не сказал, что оператор << не примет ii как итератор. </p>
кто-нибудь может мне помочь? самый близкий, я думаю, я получил
vector<int>::iterator ii;
for(ii = things.begin(); ii != things.end(); ii++){ //764
cout << "thing(" << (int)ii << "): " << toString(things[ii]) << endl; //765
}
но это выдает ошибки, которые либо не имеют смысла, либо я не могу понять, как их решить.
1>c:\...\Project.cpp(764): error C2678: binary '!=' : no operator found which takes a left-hand operand of type 'std::_Vector_iterator<_Myvec>' (or there is no acceptable conversion)
1>c:\...\Project.cpp(765): error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::_Vector_iterator<_Myvec>' (or there is no acceptable conversion)
1>c:\...\Project.cpp(765): error C2679: binary '[' : no operator found which takes a right-hand operand of type 'std::_Vector_iterator<_Myvec>' (or there is no acceptable conversion)