如何解決 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;


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