报错[Error] invalid conversion from 'int' to 'main()::Week' [-fpermissive]"/>
C语言枚举报错[Error] invalid conversion from 'int' to 'main()::Week' [-fpermissive]
参照小甲鱼《带你学C带你飞》课程练习枚举
小甲鱼使用linux下gcc编译,本人使用Dev c++ 5.11编译
#include<stdio.h>
#include<time.h>
int main(){
enum Week {sun,mon,tue,wed,thu,fri,sat};//默认第一个是0,此时sun=0,mon=1。。。
enum Week today;
struct tm *p;//tm结构体 包含了当地时间和日期,其中成员变量int tm_wday 表示星期几范围0-6
time_t t;
time(&t);//time函数返回表示当前时间的time_t
p=localtime(&t);//localtime函数将time_t类型的值转化为具体的本地时间和日期
today = p->tm_wday;//此行报错
switch(today){
case mon:
case tue:
case wed:
case thu:
case fri:
printf("工作日\n");break;
case sat:
case sun:
printf("休息日\n");break;
default:printf("Error\n");
}
return 0;
}
报错[Error] invalid conversion from ‘int’ to ‘main()::Week’ [-fpermissive]
解决方法: 需要类型转换
today = (enum Week)p->tm_wday;
更多推荐
C语言枚举报错[Error] invalid conversion from 'int' to 'main()::Week
发布评论