벡터의 요소를 검색 할 수 있도록 벡터 반복기를 초기화하려고합니다. 그러나 그것을 초기화하려고하면 변환 오류가 발생합니다. 문제가 무엇인지, 어떤 도움이 될지 모르십니까?벡터 반복기 초기화
int solution(int K, const vector<int> &A) {
int count=0,size,comp=0;
//int *index;
vector<int>::iterator index;
size = A.size();
for(int i=0;i<size;i++){
comp = K-A[i];
index = find(A.begin(),A.end(),comp);
cout <<"index: " << *index << endl;
if(*index + A[i] == K)
count++;
}
return count;
}
오류는 후보 기능 (암시 적 복사 할당 연산자) 가능한되지 않습니다 : '__normal_iterator'에서 당신이 하나를 작성해야
고맙습니다. 또한 인덱스가 벡터의 마지막 요소를 가리키는 지 알 수있는 방법이 있습니까? – jshah
반복자를 생성합니다. 예를 들어 iterLast라는 이름을'A.end() - 1'과 같게 만들고'iterLast == index'를 확인합니다. 요소의 값에 액세스하지만 가리키는 것을 의미하지 않기 때문에'* index'를 검사하지 마십시오. – cbel
A.end()에서 1을 빼면 주소 위치가 줄어들지 않습니다. – jshah