在編譯時可以獲得枚舉成員的值嗎?在編譯時可以獲得枚舉成員的值嗎?
事實上,我希望能夠做這樣的事情:
enum {
FOO_FIRST = -1,
FOO_A,
FOO_B,
FOO_C,
FOO_LAST
};
#if FOO_LAST > 10
//...
#else
//..
#endif
我知道cpp
不知道的變量,語法錯誤等;只有以#
(右)開頭的東西?但枚舉的成員具有固定大小,不能像10(常量整數)值一樣更改,編譯器知道它的大小和值。那麼,是否沒有可能做這樣的比較(就像我上面所做的那樣)? gcc-extensions也非常讚賞。
這只是一個嘗試,不要用#define
s來重寫我所有的枚舉,也不要花時間去做一些宏的改變。
你在'#if'塊中想要做什麼? – ecatmur
不能想到任何實際的用例,這是有用的.. –
[enum和#define](http://stackoverflow.com/questions/136946/difference-between-enum-and-define-statements) – SparKot