C++ 使用映射查找时出现问题-映射/集迭代器不可取消引用

C++ 使用映射查找时出现问题-映射/集迭代器不可取消引用,c++,map,iterator,find,C++,Map,Iterator,Find,我对上述代码有一个问题,并设法将其缩小到我创建的迭代器。确切的错误是没有帮助的,因为它中断到xtree:273,而不是我的实际代码,但是它确实给出了错误“map/set迭代器不可解引用” 我不确定为什么会发生这种情况,我可能做了一些明显错误的事情,任何帮助都会很好 哦,如果这可能是一个问题的话,最初它会搜索一个空地图 t_图的定义: t_map::const_iterator orderSearch = time.find(std::make_pair(log[i].ID, log[i].eve

我对上述代码有一个问题,并设法将其缩小到我创建的迭代器。确切的错误是没有帮助的,因为它中断到xtree:273,而不是我的实际代码,但是它确实给出了错误“map/set迭代器不可解引用”

我不确定为什么会发生这种情况,我可能做了一些明显错误的事情,任何帮助都会很好

哦,如果这可能是一个问题的话,最初它会搜索一个空地图

t_图的定义:

t_map::const_iterator orderSearch = time.find(std::make_pair(log[i].ID, log[i].event));
if(orderSearch != time.end())
    orderTime = orderSearch->second;
typedef std::map t_map;

地图类型的定义是什么?更新了主要问题搜索空地图不是问题。那么
time
tumap
类型吗?您是否确认
log[i].ID、log[i].event
有效?尤其是
i
值在范围内?是的,时间与t_图的类型相同。我知道ID和事件是有效的,因为我以前使用过它,它们可以很好地访问。“它断开到xtree:273”-所以是您的调试器报告“映射/设置迭代器不可取消引用”,而不是编译器?你发布的代码没有问题。。。请参阅类似的内容。可能您有未定义的行为/早期处理中的数据损坏。
typedef std::map<std::pair<string, string>, time_t> t_map;