저는 열거 형을 벡터에 배치하는 프로젝트를 진행하고 있습니다. 나는 벡터에서 그런 기능을 어떻게 얻을 수 있는지 궁금했다.벡터에 반복자를 표시합니다.
약 5 가지 방법으로 시도했지만 그 중 아무 것도 작동하지 않습니다. MSDN 벡터 (벡터 :: end()를 통해 읽은 것은 연산자가 < <이 ii를 반복자로 허용하지 않을 때까지 가장 유용하게 보였다.
누가 나를 도울 수 있습니까?
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)
어떤 종류의 당신은 너무 같은 벡터로 값을 입력 할 수 있습니다
:로 – Yaniro
것은'toString (thing)'을 작성한 enum입니다. (테스트를 마친) – gardian06
이터레이터는 인덱스가 아니라 포인터와 비슷하다.'thing [ii]'는 완전히 잘못되어'* ii'를 사용한다. 반복자를 출력하는 것은 의미가 없다. 라인 764는 괜찮습니다. 왜 컴파일러가 불평하는지 잘 모릅니다. 같은 오류를 나타내는 10 행 프로그램을 만들려고합니다. –