これは私の小さなプログラムです:
enum Type
{
b = 1,
c = 2
};
int main()
{
Type b = b;
std::cout << b << std::endl;
return 0;
}
上記の定義は、この一連のステップで構成されていると結論付けることができますか?
b
型の変数としての宣言Type
- その変数の定義と
0
デフォルト値での初期化 - 変数自体を含む新しい値の評価 (値 0)
- その新しい値を変数に割り当てます。
また、明示的に初期化されている場合でも、変数は常に 0 で初期化されますか?
私の2番目の質問は、指定された例の初期化リストで変数を使用している場合、あいまいさに関するエラーが発生しないのはなぜですか? b
コンパイラは最初に変数リストを見つけようとしていて、宣言された列挙型をチェックしていますか?