1
0
我能想到的一个可能的事情是,在您尝试遍历hash_映射之前,您的类已经在其他地方被删除,因此begin()将在垃圾上操作。值得一看… 另外-您的wchar-t*如何分配/释放?您显示的代码似乎没有处理这些问题。我不知道这会给你的回路带来什么麻烦,但值得考虑。
一件小事-你不应该需要
|
2
0
据我所知,您正在检查指针是否为空,以查找可能尚未删除的“剩余”项。但是对于在清理阶段之前删除的项目,是否将指针设置为空? 请注意,删除对象时,指针是 不 自动设置为空。因此,如果您不这样做,那么您将尝试删除同一对象两次(因为if语句始终为true),这可能导致访问冲突。 下面的代码是导致双重删除的示例。如果取消对将指针设置为空的行的注释,则可以修复此问题。
编辑: 我看到你的错误就在 对于 线。所以我想知道… 很明显你有 类名 包含一个 股票交易 成员,它是具有 类名 指针作为数据类型。如果清除代码是在 类名 ,是否有可能(出于某种原因)删除 类名 拥有的实例 股票交易 你在重复? 在这种情况下,您可能会在 资讯科技+ 语句内部 对于 自从 这 对象不再存在。(当然,错误也可能出现在其他地方,比如删除本身。) |
3
0
确保在for循环之后调用_transactions.clear()。 |
Julia · 矢量中相加为总和S的值的数量 1 年前 |
C_Rod · 在模板方法中确定STL容器中项目的数据类型 2 年前 |
quantumwell · 将空向量放入std::map() 6 年前 |
OutOfBound · 对未初始化内存使用算法的优点 6 年前 |
DarthRubik · 在使用列表删除之后,迭代器如何不无效 6 年前 |