gpt4 book ai didi

c++ - std::numeric_limits::epsilon() 在 Visual C++ 2015 中未定义

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:09:52 32 4
gpt4 key购买 nike

以下代码产生错误:std::numeric_limits<double>::epsilon()未定义的错误。

使用 numeric_limits<double>::epsilon也会产生此错误。

#ifndef _USE_MATH_DEFINES
#define _USE_MATH_DEFINES
#endif // !_USE_MATH_DEFINES

#include <math.h>
#include <limits.h>

class plusCartesianPoly {

public:

static bool isClose(double a, double b)
{
if (fabs(a-b) <= std::numeric_limits::epsilon())
return true;

return(false);
}
};

最佳答案

numeric_limitslimits 中声明,而不是在 limits.h 中声明,它是 climits 的 C 版本(由顺便说一下,math.hcmath 的 C 版本):

#ifndef _USE_MATH_DEFINES
#define _USE_MATH_DEFINES
#endif // !_USE_MATH_DEFINES

#include <cmath>
#include <limits>

class plusCartesianPoly {

public:

static bool isClose(double a, double b)
{
if (std::fabs(a-b) <= std::numeric_limits<double>::epsilon())
return true;

return(false);
}
};

关于c++ - std::numeric_limits<double>::epsilon() 在 Visual C++ 2015 中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39040318/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com