Функции cmath вызывают ошибку компилятораC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Функции cmath вызывают ошибку компилятора

Сообщение Anonymous »

Я написал небольшую программу, использующую Fast Light Toolkit, и по какой-то причине при попытке доступа к функциям в заголовке cmath возникает ошибка компилятора.

Например, ошибка ::acos не была объявлена.

Это происходит практически для каждой функции, которую она пытается использовать в заголовке. Что я мог упустить?

Я включил файлы заголовков:

Код: Выделить всё

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.

Код: Выделить всё

namespace std
{
// Forward declaration of a helper function.  This really should be
// an `exported' forward declaration.
template _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
inline typename __enable_if::_M_type
acos(_Tp __x)
{
return __builtin_acos(__x);
}
Изменить: Code::blocks сохраняет файлы как файлы C....

Подробнее здесь: https://stackoverflow.com/questions/121 ... iler-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»