为了账号安全,请及时绑定邮箱和手机立即绑定

调试时是没错的,运行生成的exe文件时才出错,请问该怎么解决?

调试时是没错的,运行生成的exe文件时才出错,请问该怎么解决?

C
炎炎设计 2022-06-09 11:07:26
在OnBnClickedRadio函数(radio控件消息函数)中使用成员vector变量时出错。是怎么回事呢。错误提示 deque iterator not dereferencablevoid OnBnClickedRadio(){std::vector<MYDATE>::iterator it = m_vec.begin();....char str[30];sprintf(str,"%4d年%2d月%2d日",it->date.year,it->date.month,it->date.day);///这句时出错}全部贴出来恐怕放不下吧,有几个文件,MYDATE是个正确的大小固定的结构体。
查看完整描述

2 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

假如 vector<MYDATE> foo(){....return ..;}
前面加一个
std::vector<MYDATE> m_vec = foo();
std::vector<MYDATE>::iterator it = m_vec.begin();

因为deque iterator it 的生命周期到分号结束。sprintf 时,它不再可以取出值来。
deque iterator not dereferencable
deque == double-ended queue
是 abstract data structure
两端可进,两可端出。

查看完整回答
反对 回复 2022-06-14
?
慕容3067478

TA贡献1773条经验 获得超3个赞

估计m_vec是空的,也就是it为空。
或者重定义?

查看完整回答
反对 回复 2022-06-14
  • 2 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信