gpt4 book ai didi

c++ - cmath 函数生成编译器错误

转载 作者:行者123 更新时间:2023-11-30 02:12:58 30 4
gpt4 key购买 nike

我编写了一个利用 Fast Light Toolkit 的小程序,但由于某种原因,在尝试访问 cmath header 中的函数时会生成编译器错误。

如错误::acos has not been declared

这几乎适用于它试图在 header 中使用的每个函数。我可能缺少什么?

我包含的头文件是

Simple_window.h
Graph.h

两者都是 FLTK 的一部分。

代码是这样的:

    #include "Simple_window.h"  // get access to our windows library
#include "Graph.h" // get access to graphics library facilities

int main()
{
using namespace Graph_lib; // our graphics facilities are in Graph_lib

Point tl(100,100); // to become top left corner of window

Simple_window win(tl,600,400,"Canvas"); // make a simple window

Polygon poly; // make a shape (a polygon)

poly.add(Point(300,200)); // add a point
poly.add(Point(350,100)); // add another point
poly.add(Point(400,200)); // add a third point

poly.set_color(Color::red); // adjust properties of poly

win.attach(poly); // connect poly to the window

win.wait_for_button(); // give control to display engine
}

编辑:这是生成编译器错误时的示例代码。这是在 cmath header 内。

namespace std
{
// Forward declaration of a helper function. This really should be
// an `exported' forward declaration.
template<typename _Tp> _Tp __cmath_power(_Tp, unsigned int);

inline double
abs(double __x)
{ return __builtin_fabs(__x); }

inline float
abs(float __x)
{ return __builtin_fabsf(__x); }

inline long double
abs(long double __x)
{ return __builtin_fabsl(__x); }

using ::acos; //ERROR HERE

inline float
acos(float __x)
{ return __builtin_acosf(__x); }

inline long double
acos(long double __x)
{ return __builtin_acosl(__x); }

template<typename _Tp>
inline typename __enable_if<double, __is_integer<_Tp>::_M_type>::_M_type
acos(_Tp __x)
{
return __builtin_acos(__x);
}

编辑:Code::blocks 正在将文件保存为 C 文件....

最佳答案

当您包含标准 C 库的 C++ 版本 ( ) 时,所有符号都在 std 命名空间中定义。在 C++ 中,您不需要链接数学库(不需要 -lm)

#include <cmath>
#include <iostream>

int main()
{
std::cout << std::fabs( -10.5 ) << std::endl;
}

关于c++ - cmath 函数生成编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1216878/

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