[英]C enum: unknown type name
I have this simple code: 我有这个简单的代码:
#include <stdio.h>
#include <time.h>
int main(){
enum Days { asd=0,Lun,Mar,Mer,Gio,Ven,Sab,Dom };
Days TheDay;
time_t ltime;
struct tm *Tm;
ltime=time(NULL);
Tm=localtime(<ime);
int j = Tm->tm_wday;
TheDay = Days(j);
printf("[%d] %d/%d/%d, %d:%d:%d\n",
TheDay, /* Mon - Sun */
Tm->tm_mday,
Tm->tm_mon,
Tm->tm_year+1900,
Tm->tm_hour,
Tm->tm_min,
Tm->tm_sec);
}
I don't understand why I'm getting this error: 我不明白为什么我收到这个错误:
try.c:6:5: error: unknown type name 'Days' try.c:6:5:错误:未知类型名称'天'
This is not C: 这不是C:
enum Days { asd=0,Lun,Mar,Mer,Gio,Ven,Sab,Dom };
Days TheDay;
The name of the new type is enum Days
and not Days
(which is the enum tag). 新类型的名称是enum Days
而不是Days
(这是枚举标记)。
You have to use: 你必须使用:
enum Days { asd=0,Lun,Mar,Mer,Gio,Ven,Sab,Dom };
enum Days TheDay;
or use a typedef: 或使用typedef:
typedef enum Days Days;
to be able to use Days
as a type name. 能够使用Days
作为类型名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.