楼主最近在代码调试中遇到了此问题,而且该问题并不是必现,复现频率较高但偶尔可以正常跑通
该问题的根本原因是对已经释放了的内存进行写操作,操作了野指针
在本站内查询后发现最多的说法是delete对象之后再次操作其地址,具体见此链接https://blog.csdn.net/witton/article/details/8911432
但是,楼主此处的代码并没有new与delete之类的操作,故仔细走读代码,着重内存检查后发现,是同项目的同事
vector容器使用下标赋值符[]赋值时出现越界
resize为600的vector容器使用下标操作符[]赋值,赋值的位置大于600,但是由于下标操作符[]的特性,在赋值越界的地方并不会报错,直到之后某一处使用到该内存地址的时候,才会出现报错信息。
这里强烈建议大家vector容器赋值的时候选择at(),起码at()越界会直接报错,而不需要自己再到处乱找。