什么情况会造成map进行find时访问越界?

look_think 2004-05-03 11:47:34
如题,我进行以上操作的时候出现了访问越界。跟踪发现是在 lower_bound 中,比较key的时候,不知道为什么出现了一个非法地址。搞不清楚怎么回事,此处,这个map的其他操作都正常,而且在map的初始化的地方进行查找都是可以的。
...全文
416 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuk_nir 2004-05-06
  • 打赏
  • 举报
回复
vc6中我碰到过同样情况,结论是stl容器、迭代器不能在不同的dll间传递,后来换成stlport就好了。
Andy84920 2004-05-06
  • 打赏
  • 举报
回复
哇,费话这么多干什么呀?
贴个代码不就完了?
Wolf0403 2004-05-05
  • 打赏
  • 举报
回复
贴代码看看吧。。。
look_think 2004-05-05
  • 打赏
  • 举报
回复
好像不是,我在进行find操作的时候就崩溃了。
look_think 2004-05-03
  • 打赏
  • 举报
回复
进一步说。
map是在模块A中定义、初始化的,在A中进行find没问题。
通过接口传给模块B后,进行诸如访问size、通过迭代器访问元素内容也是可以的,但就是不能进行find,一进行find就出现访问越界。
freefalcon 2004-05-03
  • 打赏
  • 举报
回复
能提供更详细的信息吗?
给出一点点代码?
chenqing1128 2004-05-03
  • 打赏
  • 举报
回复
楼上说的有理
Wolf0403 2004-05-03
  • 打赏
  • 举报
回复
我猜想是这样的。你搜索之后没有把得到的 iterator 和 map::end() 比较。
look_think 2004-05-03
  • 打赏
  • 举报
回复
其实应该不用代码的,因为所实施的操作都是非常基本的。
我现在暂时放弃,用其他的方法。
我怀疑是自己跨组件传递STL容器的做法不妥,有时间再试验。

谢谢各位
angelboycn 2004-05-03
  • 打赏
  • 举报
回复
没有代码,我们怎么给你看?

24,861

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧