[英]enum type in C++
這有效:
enum TPriority
{
EPriorityIdle = -100,
EPriorityLow = -20,
EPriorityStandard = 0,
EPriorityUserInput = 10,
EPriorityHigh = 20
};
TPriority priority = EPriorityIdle;
但這不起作用:
TPriority priority = -100;
任何原因?
它也可以,但是您需要顯式類型
TPriority priority = (TPriority)-100;
簡而言之:它無法實現枚舉的目的
即使值與枚舉值之一匹配,也不能將int賦給枚舉。
但是,強制轉換將起作用:
TPriority priority = static_cast<TPriority>(-100);
從枚舉類型的值到枚舉類型本身沒有類型轉換。 只是相反。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.