当我尝试打印时,Eigen c ++ NaNs消失了

时间:2015-03-12 15:31:05

标签: c++ nan eigen ofstream

我在c ++中使用Eigen编写了一个代码,它返回了一些NaN,整个事情都爆发了。当我尝试打印变量(带有ofstream)并追溯到NaN的起源位置时,NaNs突然出现并且计算成功完成。有没有人知道为什么会这样?我不认为创建大量随机.txt文件是一个很好的解决方法!

以防万一它是相关的,我使用的矩阵是稀疏的(和大的),并且已经在代码中使用过,并在NaNs表面之前用.setZero()重置。

1 个答案:

答案 0 :(得分:0)

检查未初始化的变量。

通常情况下,如果您的程序按预期工作,然后在下次尝试再次为同一工作流程运行时失败,则原因是未初始化的变量。当然,还有很多其他因素可以导致这种情况,但未初始化的变量是像你这样的bug的常见原因。