C++ enumはなぜ型変換が発生するのか

私の認識ではenumはコンパイル時に決まる
コンパイル時定数なので#defineと同様値が置き換わると思っているのですが
下記ではエラーを吐いてしまいます(cast変換が必要)
単に私の認識が間違っているのかもしくはenumでオリジナルな仕様があるのか理解されている方が
おりましたらご協力をお願い致します。

c++

1enum class A 2{3 B,4 C,5}6 7void X()8{9 int x = B // エラー10

コメントを投稿

0 コメント