2017-04-01 48 views
0

调用删除表中不存在的记录后,程序崩溃......我假设一个空值正在传递,我在一个逻辑步骤某处。调用在一个不存在的记录上删除崩溃程序

+0

请阅读[如何调试小程序](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/),并学习如何使用调试器。调试器是任何程序员工具箱中不可缺少的工具,并且知道如何使用调试器也是爱好者程序员的基本技能。 –

+0

如果你有一个合理的最近的编译器,它会在你编写'='的时候发出警告,但最有可能意味着'=='。如果没有,请考虑升级它或查看文档以了解如何启用更多警告。 – molbdnilo

回答

0

这次事故是预料之中的。您不会在find中检查nullptr。您可以轻松验证这一点:在创建哈希表后执行查找。

+0

nullptr检查的确是问题所在。我更新了我的问题。现在在不应该在表中的记录上调用remove()之后,它也会崩溃。 – user7795742

+0

这是第二个问题,你应该问一个新问题。另外在删除源代码之后,你认为人们会如何回答你的问题? – steve