linuxカーネルソースの中では、enumの中にenum要素の同じ名前を持つ定義もあります。 linux/rtnetlink.h
の例:は内部enumを定義します
enum {
RTM_BASE = 16,
#define RTM_BASE RTM_BASE
RTM_NEWLINK = 16,
#define RTM_NEWLINK RTM_NEWLINK
RTM_DELLINK,
#define RTM_DELLINK RTM_DELLINK
...
この理由は何ですか?私はこれがどのように使われているのか分かりません。私は考えることができ
'RTM_BASE = RTM_BASE_NEW_NEW_NEW'は定義なしでも同様に動作します。 –