今天在写代码时,发现程序在打印一个参数时,一直输出inf,并不是我想要的数据。
在查找过程中,发现是位于除数的某个参数由于没有初始化,所以值是0。
因此,出现此问题的主要原因就是除数为零。
测试代码如下:
#include <iostream>
int main() {
double data = 1000/0;
std::cout<<"data: "<<data<<std::endl;
return 0;
}
其实编译时就已经有警告,不过正在开发的项目比较大,对这些警告输出基本都是忽略的。
不过好处是在运行时,自己的虚拟机报了浮点异常的错误,方便定位。