从上周五开始,程序就开始出现问题,查了几天了。知道哪些地方出错了,开始时是因为添加的一部分出错了,去掉这部分后加的功能,程序就没问题了。后来发现,是因为顺序容器vector的使用溢出了。回顾vector的使用,并不会是因为数据的维度太大,而出现问题,因为我的数据维度虽然大,可不至于那么大,而且电脑配置好,再者比起来文本数据的处理,我的数据维度并不算什么。后来,觉得肯定是程序的某个地方出问题了,就像我老公说的一句话,一切问题都是程序的问题,任何奇怪的现象出现,都是因为程序有误。再继续查找,一个一个vector的查找,看看是否超过了预想的大小或者小于预想的大小。最后查看时发现,有时候分配dish时,生成的新dish的序号竟然比总的类还多。回头查找时发现,原来是因为在比较时出现了问题。原来当数均很小时,添加一个小的扰动,避免分母为零就变得异常重要了。