【发布时间】:2011-09-27 16:10:39
【问题描述】:
我正在使用 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 一起使用?
更新:如果我在 GUI 中定义 _USE_MATH_DEFINES,它就可以工作。任何线索为什么会发生这种情况?
【问题讨论】:
-
您的源文件是 .c 还是 .cpp?
-
瑞士:在这里不重要。
-
非常奇怪......我可以确认我在 VS2010 上遇到了同样的问题......我正在研究是什么阻止了定义通过......它必须在某个地方取消定义......但是我不知道在哪里
-
使用 x86,它会报错 C2065。使用 x64,则没有错误。
标签: c++ visual-studio visual-studio-2010