c++stl中find()函数的问题

vns是一个vector<int>我的程序中有:vector<int>::const_iteratoriter;.....iter=find(vns.begin(),vn... vns是一个vector<int>
我的程序中有:
vector<int>::const_iterator iter;
.....
iter=find(vns.begin(),vns.end(),n);
然后,把iter!=vns.end()或iter==vns.end()当作条件判断时,就会出错:
expression: vector iterators incompatible
这是怎么回事?find函数找不到时不是返回end()吗?这样判断找没找到不对吗
展开
 我来答
huifeng00
推荐于2016-04-04 · TA获得超过5233个赞
知道大有可为答主
回答量:808
采纳率:0%
帮助的人:688万
展开全部
是返回end()但是你的错误是由于iterators 类型不匹配造成的。
iter是一个const_iterator迭代器。
但是vns.end()返回的是一个
普通的
iterator迭代器,所以造成错误。
你把vector<int>::const_iterator iter;
改成
vector<int>::iterator iter;
就不会出错了。
有问题可以hi我。
TableDI
2024-07-18 广告
VLOOKUP是Excel中用于垂直查找的函数,其基本用法包括四个参数:1. 查找值:即在数据表首列中需要搜索的值。2. 数据表:包含查找值的单元格区域或数组。3. 返回值所在列数:指定返回查询区域中第几列的值。4. 查找方式:选择精确匹配... 点击进入详情页
本回答由TableDI提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式