C言語においては名前空間があるが、他の言語に比べて良くも悪くもフラットだ。
例えば複数の enum で同じ列挙子は使えない。
enum a {
AAA,
BBB, CCC
};
enum b {
BAB,
BBB,
BCB
};
こんなコードを書くと BBB が競合してエラーになる。
結局長い名称を付けてユニークな名称にするしか回避策は無い。 構造体の中に無名でenumを入れ子にしても名前空間が同じなので競合は避けられない。言語使用なので仕方ない。
C言語においては名前空間があるが、他の言語に比べて良くも悪くもフラットだ。
例えば複数の enum で同じ列挙子は使えない。
enum a {
AAA,
BBB, CCC
};
enum b {
BAB,
BBB,
BCB
};
こんなコードを書くと BBB が競合してエラーになる。
結局長い名称を付けてユニークな名称にするしか回避策は無い。 構造体の中に無名でenumを入れ子にしても名前空間が同じなので競合は避けられない。言語使用なので仕方ない。
※コメント投稿者のブログIDはブログ作成者のみに通知されます