错误 C2059:语法错误“常量”[重复]
Posted
技术标签:
【中文标题】错误 C2059:语法错误“常量”[重复]【英文标题】:Error C2059: syntax error 'constant' [duplicate] 【发布时间】:2013-09-04 12:46:30 【问题描述】:我在头文件中有以下代码:
enum false,true;
我在 main.c 中有我的主要功能。如果我将扩展名更改为 main.cpp 我收到以下错误:
Error C2059: syntax error 'constant'
我正在使用 Visual c++,有什么想法吗?
【问题讨论】:
您找到了 C++ 无法 100% 向后兼容 C 的原因之一。 【参考方案1】:true
和 false
是 C++ 中表示常量值的关键字。你不能用它们来命名诸如枚举值之类的东西。
举个例子,下面会编译
enum false_, true_ ;
int main()
【讨论】:
对于已经在别处定义的其他常量(例如枚举)也是如此(当我定义了一个名为 NO_ERROR 的枚举值时遇到了问题,该枚举值已经在 winerror.h 中定义)。 【参考方案2】:false
和 true
是 C++ 中的保留字。您不能将其重新定义为变量。
【讨论】:
以上是关于错误 C2059:语法错误“常量”[重复]的主要内容,如果未能解决你的问题,请参考以下文章
错误 C2059:尝试在已知大小的头文件中创建 Qt 容器时出现“常量”
vs2012 MinGW编译ffmpeg 出现libavdevice/avdevice.c(38) : error C2059: 语法错误:“.”
C语言错误 error C2059: 语法错误:“)”以及 错误error C2065: “sockaddr”: 未声明的标识符