如图,如果执行注释上面的那块代码就不会有问题,但如果将两个判断条件对换位置,像注释里边,就会产生图二的错误,但输出一样,这是为什么,是因为访问非法内存了吗?

有关c++容器vector的一个问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- oyljerry 2017-03-23 06:03关注
num < 2放在前面,会优先判断它是不是2,当它为2的时候,就不会继续判断vct[num+1]了。所以不会有问题
你可以改一下来判断vector下标的范围
while(num + 1 < vct.size() && num < 2)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报