小编You*_*ebi的帖子

用迭代器循环迭代器向量

我在最后的 for 循环中得到一个错误:

error: conversion from '__normal_iterator<__gnu_cxx::__normal_iterator<int*, std::vector<int> >*,vector<__gnu_cxx::__normal_iterator<int*, std::vector<int> >>>' to non-scalar type '__normal_iterator<const int*,vector<int>>' requested

   20 | for(vector<int>::const_iterator t=ind.begin(); t != ind.end(); ++t){

      |                                   ~~~~~~~~~^~
Run Code Online (Sandbox Code Playgroud)

我一直在寻找类似问题的解决方案,但我仍然不明白我做错了什么。

#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m,a;
vector<int>::iterator b;
cin>>n>>m;
vector<int> seq(n);
vector<vector<int>::iterator> ind;
for(int i=0;i<n;i++){
    cin>>seq[i];
}
for(int i=0;i<m;i++){
    cin>>a;
    b=find(seq.begin(),seq.end(),a);
    if(b!=seq.end()){
        ind.push_back(b);
    }
}
sort(ind.begin(),ind.end());
for(vector<int>::const_iterator t=ind.begin(); t != ind.end(); ++t){
    cout<<*t;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ iterator loops for-loop vector

3
推荐指数
1
解决办法
77
查看次数

标签 统计

c++ ×1

for-loop ×1

iterator ×1

loops ×1

vector ×1