3
아래 함수를 컴파일 할 때 컴파일 오류가 발생합니다. 왜 2 차 for 루프에 yt != endIx
이 불법입니까? '! ='없음 연산자 '표준 : _ Vector_iterator >>'형의 왼쪽 피연산자를 취하는 발견루프 종료 조건 오류에 대한 cpp 벡터
void printDebug(vector <int> ar)
{
for (auto it = ar.begin(); it != ar.end(); it++)
{
auto endIx = ar.end() - it;
for (auto yt = ar.begin(); yt != endIx ; yt++)
{
cout << *it << " : " << endIx ;
}
cout << endl;
}
}
(또는 허용 가능한 변환이없는)
오류 C2678 이진
혼란을 피하기 위해 자동 종료 반복자의 이름을 endIx로 변경했습니다.
메모 ("const 참조로 전달"및 "반복자 한 쌍을 지나쳐라.") 문제와 관련이 없다. IMO 분산시키기 – anatolyg
@anatolyg이 제거됨 – quantdev
Meh, 반복자 쌍은 스타일에 대한 질문 일 수있다. 그러나 나는 반드시 벡터를 전달해야한다는 것을 분명히한다. 가치보다는 const ref로. –