为了找到在我的 C++ 程序中将浮点变量设置为 NaN 的原因,我启用了浮点异常,如下所示:
#include <fenv.h>
feenableexcept(FE_INVALID | FE_OVERFLOW);
我知道它有效,因为当我写的时候:
int val = 0.0/0.0;
在我的程序中,出现了一个浮点异常。但是 NaN 正在通过我的程序的浮点计算“传播”,我不知道哪个变量首先设置为 NaN。
存在什么原因导致变量 beeeing 设置为 NaN,不会导致浮点异常?