Cでのenumの名前衝突
Posted: 2016年5月05日(木) 01:08
Cでenumを使っていくつかの状態を管理したいと思っています。
「異常なし」を意味する"NORMAL"というキーワードを基本として、 と書きたいのですが、名前の衝突が起こります。
WEB上を見回してみると、structで囲うという手があると書いてあります。その通りに書いてみると、
これでよいと思ったのですが、どうやら違うようです。
Pleiades MARS (MinGW GCC)使っているのですが、structで囲っても囲わなくても
- redeclaration of enumerator 'NORMAL'
というエラーが出ます。
もしかして、これはC++のみで有効なのでしょうか?
状況の説明が不足でしたらすみません。
「異常なし」を意味する"NORMAL"というキーワードを基本として、 と書きたいのですが、名前の衝突が起こります。
WEB上を見回してみると、structで囲うという手があると書いてあります。その通りに書いてみると、
typedef struct{
enum stat{
NORMAL,
RESETTING,
};
}state1_t;
typedef struct{
enum stat{
NORMAL,
ALLOWED,
};
}state2_t;
Pleiades MARS (MinGW GCC)使っているのですが、structで囲っても囲わなくても
- redeclaration of enumerator 'NORMAL'
というエラーが出ます。
もしかして、これはC++のみで有効なのでしょうか?
状況の説明が不足でしたらすみません。