当引用类型内的枚举时,无需指定枚举的名称。
文件范围的枚举定义相当于常量,也不需要限定名。
struct item
{
enum status {
normal,
focus,
press,
disable
};
CRect rt;
CStringW ico;
};
item *p = new item;
p->sta = item::status::normal;
这样调用的时候,就会出现 warning C4482,注意文件范围的枚举定义相当于常量,也不需要限定名;
正确的调用方法
item *p = new item;
p->sta = item::normal;