为什么我不能用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。