c - 枚举 C 中的“未知类型名称”
问题描述
它说未知类型名称“周”。第三行显示错误。
这是我的代码:
#include <stdio.h>
enum week{ sunday, monday, tuesday, wednesday, thursday, friday, saturday };
void lecture_unit(week day)
{
if (day == friday) printf("COS10008\n");
if (day == monday) printf("Maths\n");
if (day == sunday) printf("Holiday\n");
}
int main()
{
week today;
today = sunday;
lecture_unit(today);
printf("Day %d\n",today);
return 0;
}
解决方案
正确的类型名称应该enum week
不仅仅是week
#include <stdio.h>
enum week{ sunday, monday, tuesday, wednesday, thursday, friday, saturday };
void lecture_unit(enum week day)
{
if (day == friday) printf("COS10008\n");
if (day == monday) printf("Maths\n");
if (day == sunday) printf("Holiday\n");
}
int main()
{
enum week today;
today = sunday;
lecture_unit(today);
printf("Day %d\n",today);
return 0;
}
如果您更喜欢使用week
,则可以使用typedef
将类型定义enum week
为week
#include <stdio.h>
enum week{ sunday, monday, tuesday, wednesday, thursday, friday, saturday };
typedef enum week week;
void lecture_unit(week day)
{
if (day == friday) printf("COS10008\n");
if (day == monday) printf("Maths\n");
if (day == sunday) printf("Holiday\n");
}
int main()
{
week today;
today = sunday;
lecture_unit(today);
printf("Day %d\n",today);
return 0;
}
推荐阅读
- php - Laravel 的 Queue withChain,不能让它们按顺序运行
- reactjs - Reactjs TypeError:无法读取未定义的属性“toLowerCase”(react-router-config)
- gradle - 如何发布 gradle 子项目?
- c# - 如何在进度条运行期间将经过的计时器(分钟)添加到 GUI
- python - 负整数零
- javascript - io.emit 工作正常,socket.emit 在 socket.io 和 node.js 聊天应用程序中不起作用
- python - 使用 CVXPY 寻找准凸问题的解决方案
- queue - 使用 qalter 删除 SGE 作业的资源需求
- c# - Unity 2D 地面对撞机工作,但 OnTriggerEnter2D 未检测到
- java - 由于 Webupd8 Team 的 PPA 存储库不起作用,如何在 2019 年 6 月在 Ubuntu 上安装 Oracle Java8