Я использую Visual Studio 2010. Я читал, что на C ++ лучше использовать <cmath>
, чем <math.h>
.
Но в программе, которую я пытаюсь написать (консольное приложение Win32, пустой проект), я пишу:
#define _USE_MATH_DEFINES
#include <math.h>
он компилируется, а если я напишу
#define _USE_MATH_DEFINES
#include <cmath>
это не с
ошибка C2065: 'M_PI': необъявленный идентификатор
Это нормально? Имеет ли значение, использую я cmath или math.h? Если да, то как заставить его работать с cmath?
ОБНОВЛЕНИЕ : если я определю _USE_MATH_DEFINES в графическом интерфейсе, он работает. Есть какие-нибудь подсказки, почему это происходит?