コンパイル時に列挙型メンバーの値を取得することは可能ですか?
実際、私は次のようなことができるようになりたいです:
enum {
FOO_FIRST = -1,
FOO_A,
FOO_B,
FOO_C,
FOO_LAST
};
#if FOO_LAST > 10
//...
#else
//..
#endif
cpp
変数や不適切な構文などについて知らないことは知っています。#
(右)で始まるものだけ?ただし、列挙型のメンバーは固定サイズであり、10 (定数整数) 値のように変更することはできず、コンパイラーはそのサイズと値を認識しています。それで、そのような比較を行う可能性はありませんか(私が上で行ったように)?gcc 拡張を使用できますか?
sを使用してすべての列挙を書き直したく#define
ないし、いくつかのマクロの変更に時間をかけたくありません。