如何解决 warning C4482

使用了非标准扩展: 限定名中使用了枚举“enum”
当引用类型内的枚举时,无需指定枚举的名称。
文件范围的枚举定义相当于常量,也不需要限定名。
 
举例:
 
定义:

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;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章