永发信息网

容器的循环遍历

答案:2  悬赏:0  手机版
解决时间 2021-02-24 16:50
用算法(algorithm.h)循环遍历出现相同的问题:
bool IsOdd(int i){ return ((i%2) == 1);}
void main(){
int a[] = { 1,2,2,2,3,4,5,5,4,3,2,2,2,1,0 };
vector v1(a,a+sizeof(a)/sizeof(a[0]) );
vector::iterator iter = v1.begin();
for(; iter != v1.end() ; ++iter){
iter = find_if( iter, v1.end(), IsOdd);
cout << *iter << " "; // 能输出1 3 5 5 3 1 但是输出完弹出 Debug Assertion Failed!
// Expression : vector iterator not dereferencable
}
}
最佳答案
iter = find_if( iter, v1.end(), IsOdd);在iter指向最后的0的时候,find_if将查找不到,此时iter = v1.end(),进行cout打印将出错。应改成:
iter = find_if(iter, v1.end(), IsOdd);
if(iter == v1.end())    //
    break;              //
cout << *iter << " ";
全部回答
遍历指定的linearlayout中的控件么? 你说的加id肯定是需要的 这是很容易根据id来得到linearlayout对象,得到之后 你再看看linearlayout对象中有什么方法可以得到子控件吧 具体方法名我不知道 不过应该是有的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
变调夹很紧把琴夹的有划痕对琴有影响吗
GUCCI包是哪个国家的牌子
大众数码影像我想知道这个在什么地方
这个是?
我想开个顺丰代理点怎么办理的
甲、乙签订了买卖合同,甲以乙为收款人开出一
洗衣机放脏东西那个拆下来怎么装上?
为什么我还没有我爸高(男生)
张记排档地址在哪,我要去那里办事
请问湖北省社科院的研究生将来就业怎么样?调
怎么减掉大腿根部,胯部和肚子上的肉肉?
日语假期快乐怎么说?
银海苑地址有知道的么?有点事想过去
全顺车柴油版SVS灯亮了是怎么了
反复多次油炸后的油.一.有办法去掉里面的杂质
推荐资讯
公司要我想一个宣传标语,要能吸引人的,要怎
预计2010年,我国65岁以上的老年人的人口比例
用C语言写出1+2/3-3/5+4/7-5/9...n/2n-1
怎么打印微信二维码
雏菊花助学网同别的助学网有什么不同?
乡情休闲农庄我想知道这个在什么地方
什么非什么 比
莫斯科到北京飞机飞多长时间
半城小馆星光广场店地址在什么地方,想过去办
呐尼是什么意思
坐浆法施工时,混凝土强度要达到()以上时,
按达尔文的进化论,下列叙述中哪项是正确的AA
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?