Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Ошибка при включении math.h


Автор: ЕвгенийАК 27.5.2010, 12:59
Здравствуйте, Уважаемые.

Ошибка error C3861: 'acos': identifier not found возникает при включении math.h (даже в пустом проекте). В чем проблема?

Автор: susanin 27.5.2010, 16:12
компилятор? среда разработки?

Автор: ЕвгенийАК 27.5.2010, 16:22
Visual Studio 2008 sp1

Автор: yeputons 27.5.2010, 16:29
arccos?

 smile 
Код

#include <math.h>

int main() {
  acos(1);
  return 0;
}

Компилируется. Может быть еще:
Код

#include <cmath>
using std::acos;

int main() {
  acos(1);
  return 0;
}

Приведите код, пожалуйста.

Автор: susanin 27.5.2010, 16:53
Цитата(ЕвгенийАК @  27.5.2010,  16:22 Найти цитируемый пост)
Visual Studio 2008 sp1

странное дело...только что запустил на такой же студии 
Код

#include <math.h>

int main() {
  acos(1);
  return 0;
}

все нормально

Автор: Peter 28.5.2010, 12:47
Цитата(ЕвгенийАК @  27.5.2010,  12:59 Найти цитируемый пост)
Ошибка error C3861: 'acos': identifier not found возникает при включении math.h (даже в пустом проекте).

Как это в пустом проекте? В смысле, в пустом файле? Надо ж было куда-то написать
Код
#include <math.h>
Компилятор должен также указывать, на какую строку ругается. Возможно, эта строка сидит в каком-то заголовочном файле. У меня было такое: определил
Код
#define N 100
, а ниже подключал заголовочные файлы. Препроцессор нашел в каком-то из них N, заменил его на 100, и компилятор стал ругаться. Тут не та же ли проблема? Надо посмотреть в свойствах проекта - нет ли каких-то макроопределений, портящих math.h.

Автор: ЕвгенийАК 1.6.2010, 22:19
Проблема была решена заменой math.h новым файлом.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)