jsh*_*hah 0 c++ iterator vector
我正在尝试初始化向量迭代器,以便可以在向量中搜索元素。但是,当我尝试对其进行初始化时,出现转换错误。不知道是什么问题,有帮助吗?
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;
}
Run Code Online (Sandbox Code Playgroud)
错误是候选函数(隐式副本赋值运算符)不可行:对于第一个参数类__normal_iterator,没有从'__normal_iterator'到'const __normal_iterator'的已知转换
你应该写这个
vector<int>::const_iterator index;
Run Code Online (Sandbox Code Playgroud)
因为A是const vector,其元素无法突变。而且const_iterator用于只读,但不能修改其指向的元素。
| 归档时间: |
|
| 查看次数: |
9316 次 |
| 最近记录: |