私はこのような列挙型を持っている:私が行うことができるように、私はグローバル名前空間にmy_trueを公開できるようにしたいと思いのtypedefと列挙型または列挙型クラス
enum class truth_enum {
my_true = 1,
my_false = 0
};
、(実際には、列挙型クラスがあります)この:
char a_flag = my_true;
あるいは、少なくとも、この代わりの
char a_flag = (char)my_true;
:
char a_flag = truth_enum::my_true;
これは可能ですか?私はこのような何かを試してみました
は:
typedef truth_enum::my_true _true_;
私はエラーが表示されます。列挙型クラスtruth_enumでmy_trueは私の推測では、値がないタイプmy_trueであるということであるタイプ
に名前を付けていません。自分のプログラムでこの機能を有効にするための方法がありますか?
ない理想的な、しかし、私のような何かを行うことができます:
enum class : const char { ... };
const char const_flag_false = truth_enum::my_false;
をうーん...
(...の人が編集できるように、コミュニティのwikiをメイド)。冗長性は、読みやすさを妨げない限り問題にはなりません。 – yngccc
'enum class'の列挙子は暗黙的に整数に変換されないので、' char a_flag = my_true; 'は間違っています。 –
私はコンバートを上記のように使用しました – user3728501