我的应用程序终止于信号11 - 分段错误。
已生成核心转储,并说明以下内容:
#0 Players::shareExperience (this=0x7fd3f8187600,
experience=401912970206.76483154296875, m=<value optimized out>,
multiplied=<value optimized out>) at players.cpp:130
130 (*it)->gainSharedExperience(tmpExperience, m , multiplied);
当玩家杀死怪物并获得大量经验时,就会发生这种情况。
在我看来,它不应该崩溃,因为130
行的展示次数是long double
,所以应该处理它。
有没有办法处理那么多数字?这可能是玩家在杀死怪物时获得的远期:experience=401912970206.76483154296875
不足long double
那么?
答案 0 :(得分:3)
该错误不是来自大的long double值,它很可能来自it
中的无效迭代器(或具有无效指针值的迭代器)。