由于输入高,应用程序崩溃

时间:2011-10-17 14:25:59

标签: c++ crash-dumps

我的应用程序终止于信号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那么?

1 个答案:

答案 0 :(得分:3)

该错误不是来自大的long double值,它很可能来自it中的无效迭代器(或具有无效指针值的迭代器)。