Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么这些双精度的返回值是-1.#IND?_C++_Visual Studio 2008_Visual C++_Opencv - Fatal编程技术网

C++ 为什么这些双精度的返回值是-1.#IND?

C++ 为什么这些双精度的返回值是-1.#IND?,c++,visual-studio-2008,visual-c++,opencv,C++,Visual Studio 2008,Visual C++,Opencv,我有: double score = cvMatchContourTrees( CT1, CT2, CV_CONTOUR_TREES_MATCH_I1, 0.0 ); cout<<score<<endl; double score=cvMatchContourTrees(CT1,CT2,CV_Contourt_TREES_MATCH_I1,0.0); coutstd::cout正如Frederic所说,它是由在windows上使用visual studi

我有:

double score = cvMatchContourTrees( CT1, CT2, CV_CONTOUR_TREES_MATCH_I1, 0.0 );
        cout<<score<<endl;
double score=cvMatchContourTrees(CT1,CT2,CV_Contourt_TREES_MATCH_I1,0.0);

cout
std::cout正如Frederic所说,它是由在windows上使用visual studio构建的应用程序对“”进行格式化的结果。John D Cook有一个:

Windows将NaN显示为-1.#IND(“IND”表示“不确定”),而Linux显示NaN

简而言之,如果得到1.#INF或INF,请查找溢出或被零除。如果你得到1.#IND或nan,寻找非法操作


如果您对字符串进行任何形式的格式化,请注意截断;我自己在处理这类错误时遇到过。

根据我的经验
-1.#IND
来自虚数。因此,做
cout
#IND
是非常重要的。您可能想阅读。
cvmatchtourtrees
和OpenCV在这个问题上完全是骗人的。@Tomalak,您怎么能确定?问题是“什么是-1.#IND的意思?”还是“CVT如何返回该值?”@Mark:Fair point。我想两者都有可能。看:我不确定
0/0
是否会产生
NaN
。我认为这就像任何其他被零除法一样,操作系统会出现浮点异常。@Tomalak:在Visual Studio中,0/0会抛出异常。0.0/0.0或者返回NaN或者抛出异常,您可以通过一个标志来控制它。默认情况下,它返回NaN。@user763305:是,完全正确。而这不是最初的引文所说的。我的观点是,当心维基百科的危险……也许。。。或者可能是在图书馆的电话中,图书馆默默地掩盖了异常,但仍然按照OPs的问题吐出NaN?
std::cout << (0/0.f);
// Output: -1.#IND