我正在使用Visual Studio 2010.我已经读过,在C++中,最好使用<cmath>而不是<math.h>.
但是在我编写的程序中(Win32控制台应用程序,空项目),如果我写:
#define _USE_MATH_DEFINES
#include <math.h>
Run Code Online (Sandbox Code Playgroud)
如果我写的话,它会编译
#define _USE_MATH_DEFINES
#include <cmath>
Run Code Online (Sandbox Code Playgroud)
它失败了
错误C2065:'M_PI':未声明的标识符
这是正常的吗?如果我使用cmath或math.h是否重要?如果是,我怎样才能使用cmath?
更新:如果我在GUI中定义_USE_MATH_DEFINES,它可以工作.任何线索为什么会发生这种情况?