コード内のいくつかの場所で列挙型の使用を開始したいのですが、コンパイラからの以前の宣言に問題があります。列挙型が現在どのように宣言されているかは、私にとって最も理にかなっています。
このような状況を回避する最善の方法は何ですか?
enum score_methods_t {NONE,ABS_FROM_PERFECT,ERROR_SQUARED};
enum scale_methods_t {NONE,CASES_MULTIPLIER,RANGE_MULTIPLIER};
すべてを一意にするか、名前空間でスコープする必要がありますか? クラス内で列挙型を使用したいのですが、NONE が最もわかりやすい名前です。
また、列挙型が衝突する理由は、本質的にはフードの下の #defines に過ぎないからですか??