当前位置:三九宝宝网 → 宝宝教育 → 教学论文 → 正文

c语言 list的使用出错触发断点

更新:02-11 整理:39baobao.com
字体:

[PPT触发器怎么用]PPT触发器,类似启动指定对象动画效果的开关 如有圆1 圆2 圆1设置了进入动画 (单击时) 如果不设置触发器情况下,在放映幻灯片时,任意位置点击都可以开始圆1的进入动画 若设置了触...+阅读

错误1:for(il=lst.begin ();il!=lst.end();il++){ if(il!=i2) { t=*il%min; //除最小值之外 都赋值为原数%最小值 if(t>0) *il=t; //并用erase 删除(原数%最小值)=0的点; else *lst.erase(il); }}这段循环问题很大。lst.erase(il); 执行完后, il 指向一个无效的位置,再执行 il++ 必然出错。在这里我们需要得到删除 il 之后的下一个元素的位置,并将其赋给 il好在 lst.erase(il) 的返回值正是我们所需的。所以这句改为il = lst.erase(il); 即可。但还没有结束。当执行 il = lst.erase(il); 之后,il 已经指向下一个位置了,但根据 for 循环,下一步仍然执行 il++ 。这显然不是我们想要的,所以需要改变 il++ 这句的位置。综上,以上 for 循环改为如下:for(il=lst.begin ();il!=lst.end();){ if(il!=i2) { t=*il%min; //除最小值之外 都赋值为原数%最小值 if(t>0) *il=t; //并用erase 删除(原数%最小值)=0的点; else { il = lst.erase(il); continue; } } il++;}当执行 il = lst.erase(il); 语句后直接 continue 跳过 il++; 即可。错误2:for(il=lst.begin ();il!=lst.end();il++)这里没有给 i2 赋初值,下面的循环有可能一次也不进入,这样 i2 将会指向错误的位置。所以上面 for 循环改为for(i2=il=lst.begin ();il!=lst.end();il++)OK 以上两个错误改过后编译运行正常。VS2008下改过后的整个程序:#include#includeusing namespace std;bool check(list&lst);int main(){ listlst; lst.push_front

(10); lst.push_front(15); lst.push_front(18); check(lst); return 0;}bool check(list&lst){ //实现功能: //给出一组数,这些数相加减,若能等于1则返回true 否则返回FALSE //例如:(10,15,18)=18+18+18-10-15-15-15=1返回true; //递归示例: //check(10,15,18)=check(10,15%10,18%10)=check(10,5,8) //=check(10%5,5,8%5)=check(0,5,3)=check(5,3)=check(2,3)=check(2,1)=check(0,1)=check

(1) //仅剩下一个点且为1返回true; list::iterator il,i2; int t,min=lst.front(); for(i2=il=lst.begin ();il!=lst.end();il++) { if(*il0) *il=t; //并用erase 删除(原数%最小值)=0的点; else { il = lst.erase(il); continue; } } il++; } for(il=lst.begin ();il!=lst.end();il++) cout

本文地址:https://www.39baobao.com/show/29_39735.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

PPT触发器怎么弄PPT触发器仅仅是PPT中的一项功能,它可以是一个图片、图形、按钮,甚至可以是一个段落或文本框,单击触发器时它会触发一个操作,该操作可能是声音、电影或动画。而我对PPT触发器的...

ppt怎样删除触发选中触发器,按一下delete键就删掉了。 如果只是让触发器不出现在屏幕上,让他小一点就好了,或者用文字图片覆盖一下,并且调成自动播放就好了。 知识扩展: PPT触发器的用途:知道PPT...

如何利用PPT中的触发器实现标注效果1. 插入文本框并输入文字 插入多个文本框,并输入相应的文字内容。要特别注意把题目、多个选择题的选项和对错分别放在不同的文本框中,这样可以制作成不同的文本对象。如图1就...

ppt中触发器在哪里设置比如插入的是一个声音或者动画.插入之后.会有一个设置...我一般设置自动...也可以设置为单击播放..然后再点到声音图标或者是视频图标..右键..自定义动画...之后可以在屏幕...

c语言为什么下面语句会触发 triggered a breakpointtriggered a breakpoint 的意思是触发一个断点。 这个问题一般发生在程序运行过程中。 下面是错误发生显示的信息: Windows has triggered a breakpoint in xxx.exe. This ma...