一股清风 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 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?