这个是怎么回事?enum”: 缺少标记名

似水流年1990 2015-03-26 10:48:14
#pragma once
#include <Windows.h>

enum class ElementColor : COLORREF{BLACK = RGB(0,0,0), RED = RGB(255,0,0),
GREEN = RGB(0,255,0), BLUE = RGB(0,0,255)};



: error C2332: “enum”: 缺少标记名
1>f:\vs程序\测试\mfc\sketcher\sketcher\elementcolor.h(5): error C2236: 意外的“class”“ElementColor”。是否忘记了“;”?
1>f:\vs程序\测试\mfc\sketcher\sketcher\elementcolor.h(5): error C3381: “ElementColor”: 只有在用 /clr 选项编译的代码中才有程序集访问说明符
1>f:\vs程序\测试\mfc\sketcher\sketcher\elementcolor.h(5): error C2516: “COLORREF”: 是非法基类
1> c:\program files\microsoft sdks\windows\v7.0a\include\windef.h(314) : 参见“COLORREF”的声明
1>f:\vs程序\测试\mfc\sketcher\sketcher\elementcolor.h(5): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\vs程序\测试\mfc\sketcher\sketcher\elementcolor.h(5): error C2864: “ElementColor::BLACK”: 只有静态常量整型数据成员才可以在类中初始化
1>f:\vs程序\测试\mfc\sketcher\sketcher\elementcolor.h(5): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\vs程序\测试\mfc\sketcher\sketcher\elementcolor.h(5): error C2864: “ElementColor::RED”: 只有静态常量整型数据成员才可以在类中初始化
1>f:\vs程序\测试\mfc\sketcher\sketcher\elementcolor.h(6): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\vs程序\测试\mfc\sketcher\sketcher\elementcolor.h(6): error C2864: “ElementColor::GREEN”: 只有静态常量整型数据成员才可以在类中初始化
1>f:\vs程序\测试\mfc\sketcher\sketcher\elementcolor.h(6): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\vs程序\测试\mfc\sketcher\sketcher\elementcolor.h(6): error C2864: “ElementColor::BLUE”: 只有静态常量整型数据成员才可以在类中初始化
1>f:\vs程序\测试\mfc\sketcher\sketcher\elementcolor.h(6): error C2143: 语法错误 : 缺少“;”(在“}”的前面)
...全文
1308 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
似水流年1990 2015-03-27
  • 打赏
  • 举报
回复
是的,如果把class注释掉即可编译通过的,然违背了编写想要的
似水流年1990 2015-03-27
  • 打赏
  • 举报
回复
#define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16))) typedef DWORD COLORREF;
似水流年1990 2015-03-27
  • 打赏
  • 举报
回复
VS 2010
朱光云月 2015-03-27
  • 打赏
  • 举报
回复
用的是哪个版本的编译器 是不是不支持c++11
赵4老师 2015-03-26
  • 打赏
  • 举报
回复
偶遇到类似问题都是用 “每次用/*...*/注释掉不同部分再重新编译,直到定位到具体语法出错的位置。” 的方法解决的。
幻夢之葉 2015-03-26
  • 打赏
  • 举报
回复
error C2864: “ElementColor::BLACK”: 只有静态常量整型数据成员才可以在类中初始化 RGB返回的是什么类型?!

65,209

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧