簡體   English   中英

C ++中的枚舉類型

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM