枚举类型必须是整形吗,不能是浮点数或是别的类型

C++语言 码拜 8年前 (2016-05-01) 4461次浏览
enum E//枚举类型必须是整形吗,不能是浮点数或是别的类型?
    {
        monday=-2,
        tuesday=1.5//有么有非int类型的枚举?
    };

语言标准有没有规定说enum必须是某种整数类型?

解决方案

40

枚举在C语言标准里面定义的就是整型,不管哪个编译器都遵循这个标准。
在系统内部,C语言会把枚举变量和常量作为整数来处理,默认情况下,编译器会把整数0、1、2、3……赋给特定枚举中的常量。如枚举city中,GZ、FS、SZ、DG分别被赋值0、1、2、3。

10

枚举类型只能是int型的,而且枚举本身的值没有什么意义,它是用来模拟现实中的某些只能取固定值的变量的,对应一个值只是在计算机中比较好处理

10

浮点数这些不行的原因是不能确定下一个
可以参考pascal中的规定:有序类型

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明枚举类型必须是整形吗,不能是浮点数或是别的类型
喜欢 (4)
[1034331897@qq.com]
分享 (0)