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

这个是怎么回事?enum”: 缺少标记名
#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: 语法错误 : 缺少“;”(在“}”的前面)
------解决思路----------------------
偶遇到类似问题都是用
“每次用/*...*/注释掉不同部分再重新编译,直到定位到具体语法出错的位置。”
的方法解决的。

------解决思路----------------------
error C2864: “ElementColor::BLACK”: 只有静态常量整型数据成员才可以在类中初始化

RGB返回的是什么类型?!
------解决思路----------------------
用的是哪个版本的编译器
是不是不支持c++11