enum DAY
{
MON,
TUE,
WED,
THU,
FRI,
SAT,
SUN
};
问题
如果使用如下方式来遍历,则编译器会报类型转换失败错误,因为enum类型没有++运算符,也不支持+运算。
for(DAY i = MON; i <= SUN; i++)
{
cout << i << endl;
}
方法1
如果不严格要求使用DAY类型访问其他变量,则可以使用int方式来遍历,如下:
for(int i = MON; i <= SUN; i++)
{
cout << i << endl;
}
方法2
尽管枚举类型的每个元素都是整数,但是++操作后不能赋值给原对象,而且C++没有提供枚举类型的迭代器,需要强制类型转换。
for(DAY i = MON; i <= SUN; i = (DAY) (i + 1))
{
cout << i << endl;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)