一股清风 2020-06-28 16:04 采纳率: 25%
浏览 252
已采纳

枚举变量能否作为循环控制变量?

图片说明

我在书上看到有把枚举变量当做循环控制变量的,但我在用的时候总是报错,是在vc++6.0中不支持这样做吗,我从网上找的程序也无法正常运行,报错为:E:\CYUYAN\练习\枚举_1.cpp(27) : error C2676: binary '++' : 'enum main::season' does not define this operator or a conversion to a type acceptable to the predefined operator

#include<stdio.h>

void main()
{ 
    enum season {spring=1,summer,autumn,winter}s;

    for(s=spring; s<=winter; s++)
        printf("%d\n",s);
}
  • 写回答

3条回答 默认 最新

  • 泡视界 2020-06-29 11:07
    关注

    你这个错是枚举型没有++操作,可以修改为s=s+1,试试

    你这样用其实不是很符合枚举存在的意义,因为我们定义枚举的时候,其实想用的是他的变量名,而重点不是想用他的值,因为他的值只是一个index。
    一般枚举的变量名的意思可以非常直观,比如
    enum selfError{
    NO_ERROR,
    INVALED_PARM,
    NULL_PTR,
    }

    这样你在使用的时候就可以非常方便地根据变量名本身含义去做逻辑处理
    定义一个返回类型为selfError的函数
    selfError function1() {
    int err = INVALED_PARM;
    。。。。。。。
    return err;
    }

    然后引用的时候很方便地使用枚举型
    int err = function1();
    if (err ==NO_ERROR ){
    printf("调用成功");
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 请提供一个符合要求的网页链接。
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码