math.h 中的 200 多个 ~SYNTAX ERRORS~ 对于 visual studio,这没有意义

Over 200 ~SYNTAX ERRORS~ in math.h for visual studio, which doesn't make sense

将 Visual Studio Express2013 用于 Windows 桌面,使用 "Win32 Console Application" C++ 项目

(我正在为一门课程做一个项目。为了开始,我必须导入讲师提供的所有项目文件 - 有很多(所有 .cpp 和 .h文件),所以我真的不能在这里复制粘贴它们中的任何一个......但我不认为那是问题所在)。

当我点击 "run debugger," 时,我在 math.h 中得到近 200 个语法错误,尽管 math.h 是 Visual Studio.

所有错误看起来都很简单,例如:

"Missing ')' before identifier _X'"
"'_X' : undefined identifier"
"'floor' : definition of dllimport data not allowed"
"syntax error : missing ';' before '+'"


etc... these syntax errors go on into the 200s.

(我会复制粘贴整个错误日志,但是有262个错误,里面都有文件目录路径,所以你们看是不可能的)

如果 math.h 是来自 Visual Studio 本身的文件,为什么我在 math.h 中有这么多语法错误?

(几周来我一直在努力解决这个问题,直到它编译我才能真正开始处理这个项目)

看来您在提到 #include <math.h>cpp 文件之前可能已经包含了一些头文件。该头文件可能在 class/function 声明末尾缺少 ;,导致 math.h 文件中出现错误。例如,

#include "test.h"

#include <math.h>

如果 test.h 在末尾缺少 class/data type/function 声明 ;,则会导致 math.h

中出现错误

问题可能出在头文件本身 - C++ 已经为旧的 C 库提供了自己的等效库。它们采用以下格式:

c[library name]

其中 [库名称] 替换为旧的 C 库 MINUS .h 扩展名。

要在 C++ 程序中包含 C 库中的 math.h,您可以这样做:

#include <cmath>

您也可以尝试其他人所说的一些事情。

注意:我不确定旧的 C 头文件是否是问题的根源,但由于 C++ 确实引入了一些不兼容性,这很可能是问题所在。