私はコード内のいくつかの場所でenumを使用したいと思っていますが、コンパイラの以前の宣言に問題があります。現在のところenumがどのように宣言されているのですか。スコープ付き列挙型のベスト代替 - Pre C++ 11
このような状況を避けるにはどうすればよいでしょうか?
enum score_methods_t {NONE,ABS_FROM_PERFECT,ERROR_SQUARED};
enum scale_methods_t {NONE,CASES_MULTIPLIER,RANGE_MULTIPLIER};
すべてを一意にするか、名前空間で有効にするか私はクラス内で列挙型を使用したいと思いますし、NONEは最も記述的な名前です!
また、enumsの衝突は、本質的にthayがフードの中でちょうど#defineなので、なぜですか?
このアプローチを使用すると、変数、クラスメンバー、関数型のenum型の引数をどのように宣言しますか? – ulidtko
@ulidtko 'score_methods :: type'のように' :: type'を使用しています。これは、プレC++ 11で支払う価格です。 :) –
うん...同じ列挙型の 'score_methods :: value'メンバーを宣言し、暗黙的な構造体代入演算子をいくらか使うことができますか?それは私にとってより安全な型セーフな方法です。 – ulidtko