【发布时间】:2015-05-14 20:29:45
【问题描述】:
我在 C++ 中使用 Eigen 编写了一个代码,它返回一些 NaN,然后整个事情就搞砸了。当我尝试打印出变量(使用 ofstream)并追溯到 NaN 的来源时,突然间 NaN 没有出现并且计算成功完成。有谁知道为什么会发生这种情况?我不认为创建大量随机 .txt 文件是一个好的解决方法!
以防万一,我使用的矩阵是稀疏的(而且很大),并且已在代码的早期使用并在 NaN 表面之前使用 .setZero() 重置。
【问题讨论】:
-
您的代码有未定义的行为。修复它。
-
查看是否有未初始化的变量。如果您的代码有效,但在您下次重试时失败,则需要检查。
-
@user3670482 我花了这么长时间才找到它,但你绝对是正确的。当我认为是时,我的一个向量没有初始化为零。谢谢你的建议。
-
@NickB 很高兴它成功了:)