gpt4 book ai didi

c++ - 未初始化的枚举变量值

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:57:22 25 4
gpt4 key购买 nike

我通过使用枚举声明新类型 DAY,然后从它声明两个变量 day1 和 day2,然后我应该看到 0 到 6 之间的值,当我使用它们时未初始化,因为值在 enumlist 中介于 0 到 6 之间,但是我收到这些值,而不是 -858993460。

你能解释一下为什么我收到这些值而不是 0 到 6 吗?

#include <iostream>

using namespace std;

int main()
{
enum DAY{SAT,SUN,MON,TUE,WED,THU,FRI};
DAY day1,day2;

cout<<int(day1)<<endl<<day1<<endl;
cout<<int(day2)<<endl<<day2<<endl;

system("pause");
return 0;
}

最佳答案

枚举不限于仅采用声明的值。

它有一个底层类型(一个数字类型,至少大到足以表示所有值),并且可以通过适当的狡猾转换,被赋予该类型可表示的任何值。

此外,使用未初始化的变量会产生未定义的行为,因此原则上任何事情都有可能发生。

关于c++ - 未初始化的枚举变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17699949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com