stevenmtroy 发表于 2017-11-9 19:17:15

求助

# include <stdio.h>
# include <time.h>
int main(void)
{
        enum Week { sun, mon, tue, wed, thu, fri, sat };
        enum Week today;
        struct tm * p;
        time_t t;
        time(&t);
        p = localtime(&t);
        today = p->tm_wday;


        return 0;
}
为什么程序报错严重性        错误        C2440        “=”: 无法从“int”转换为“main::Week”        ,有谁能指教一下?

BngThea 发表于 2017-11-9 19:35:21

枚举型变量不能用其他类型变量直接赋值,你应该进行强制类型转换
today = (enum Week)(p –> tm_wday)

stevenmtroy 发表于 2017-11-9 20:24:35

谢谢您的答案,确实是没有强制类型转换导致的,但是我看小甲鱼视频课程里的代码好像没有进行强制类型转换也通过了编译,为什么在Visual Stdio里面编译没有进行类型转换就会报错呢?
页: [1]
查看完整版本: 求助