coding小学生
2015-07-07 06:56
采纳率: 100%
浏览 3.5k

vector对象,push_back访问越界,怎么解决?

自己定义了一个类POINT3D,定义全局变量vector pts,pts.push_back数据时访问越界

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

8条回答 默认 最新

  • coding小学生 2015-07-07 14:52
    已采纳

    试了下release没有出现问题,但debug就会触发中断,如上图

    点赞 打赏 评论
  • blownewbee 2015-07-07 07:18

    用pts.size()获取长度,判断下。

    点赞 打赏 评论
  • RNACHEN 2015-07-07 07:26

    怎么可能,vector是可变长的容器,不至于会越界,你再仔细检查你的代码

    点赞 打赏 评论
  • RNACHEN 2015-07-07 07:28

    应该不是push back这句代码的问题,应该是你访问vector出现的越界的问题

    点赞 打赏 评论
  • lx624909677 2015-07-07 08:55

    你是如何知道push_back中有越界行为的?

    点赞 打赏 评论
  • 霓为衣兮风为裳 2015-07-07 09:39

    用at()函数访问 不会越界的啊

    点赞 打赏 评论
  • oyljerry 2015-07-07 11:29

    push_back应该不会导致越界
    你越界时,可以查看一下各个变量的内存数据,就知道到底是什么问题。
    是不是还有其他地方导致越界等。

    点赞 打赏 评论
  • coding小学生 2015-07-07 14:51

    图片说明这是debug时的提示

    点赞 打赏 评论

相关推荐 更多相似问题