我使用 enum 声明新类型 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;
}
枚举不限于仅采用声明的值。
它有一个底层类型(至少足够大以表示所有值的数字类型),并且可以通过适当的狡猾转换,给出该类型可表示的任何值。
此外,使用未初始化的变量会产生未定义的行为,因此原则上任何事情都可能发生。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)