我在尝试构建我的应用程序时报告了以下错误:
- 错误 C2143:语法错误:在“常量”之前缺少“}”
- 错误 C2143:语法错误:缺少“;”在“常量”之前
- 错误 C2059:语法错误:“常量”
对于下面的代码:
namespace oP
{
enum adjustment
{
AUTO_OFF,
AUTO_ONCE,
AUTO_CONTINUOUS,
AUTO_SEMI,
ABSOLUTE, // The line that the errors point to.
NUDGE
};
}
小写的“absolute”可以正常构建,如果我拼错了 ABSOLUTE,那么它可以正常构建。
我搜索了我的整个代码库,没有其他地方使用术语“绝对”。 我调查了没有此更改的构建工件,但我在其中找不到任何对 ABSOLUTE 的引用。
有没有人指出问题出在哪里或如何调试?
谢谢
最佳答案
ABSOLUTE
是#define
d(到数字 1)在一个 Windows API header 中 <windi.h>
.这就是让编译器感到困惑的地方。
你可以 #undef
它,删除<windows.h>
如果您不需要它,或者重命名您的枚举。
关于c++ - 我如何找到 C++ 编译器认为定义为常量的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31116086/