Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.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++ Builder编译IsNan 我使用C++ Builder XE,想检查一个浮点值是否有效。根据帮助,在数学方面。h,有一个电话 bool IsNan(float value)_C++_Math_C++builder - Fatal编程技术网

为什么我不能用C++ Builder编译IsNan 我使用C++ Builder XE,想检查一个浮点值是否有效。根据帮助,在数学方面。h,有一个电话 bool IsNan(float value)

为什么我不能用C++ Builder编译IsNan 我使用C++ Builder XE,想检查一个浮点值是否有效。根据帮助,在数学方面。h,有一个电话 bool IsNan(float value),c++,math,c++builder,C++,Math,C++builder,然而,当我试图编译它时,它告诉我 Call to undefined function 'IsNan' 在math.h中没有isnan我使用了不区分大小写的搜索 我是在做傻事还是在做什么?要使用Embarcadero内置的IsNan函数,您无论如何都需要为XE4包含它 #include <System.Math.hpp> 如果您使用的是基本XE,那么您需要 #include <Math.hpp> 后者也适用于XE4,尽管帮助表明需要System.Math.hpp。要

然而,当我试图编译它时,它告诉我

Call to undefined function 'IsNan'
在math.h中没有isnan我使用了不区分大小写的搜索


我是在做傻事还是在做什么?

要使用Embarcadero内置的IsNan函数,您无论如何都需要为XE4包含它

#include <System.Math.hpp>
如果您使用的是基本XE,那么您需要

#include <Math.hpp>

后者也适用于XE4,尽管帮助表明需要System.Math.hpp。

要使用Embarcadero内置的IsNan函数,您仍然需要为XE4包含它

#include <System.Math.hpp>
如果您使用的是基本XE,那么您需要

#include <Math.hpp>

后者也适用于XE4,虽然帮助表明St.Mth.HPP是必需的。

< P>论坛上的讨论论坛C++Builder C++ Language Roger Dunk写道: 标准:伊斯南大学


<>这解决了我在论坛上讨论论坛的错误…

P>论坛C++Builder C++ Language Roger Dunk写道: 标准:伊斯南大学


这基本上解决了我的错误…

基本上:没有对isnan的一致支持;这是C99中的宏,一些C++编译器会让你使用,我相信它被添加到C++ 11中,但是我不知道C++ Builder是否符合这个标准。它是C99中的宏,C++编译器允许使用,我相信它被添加到C++ 11中,但是我不知道C++ Builder是否符合这个标准。谢谢,这是固定的。这就是为什么Math.hpp可以在XE4上工作,尽管实际上需要System.Math.hpp。谢谢,这已经解决了。Math.hpp包括System.Math.hpp,以便与UnitScopeName之前的代码向后兼容,这就是为什么Math.hpp可以在XE4上工作,尽管实际上需要System.Math.hpp。