如何在 C 中将 ENUM 作为函数参数传递
我有一个枚举声明为:
typedef enum
{
NORMAL = 0,
EXTENDED
} CyclicPrefixType_t;
CyclicPrefixType_t cpType;
我需要一个将其作为参数的函数:
fun(CyclicPrefixType_t cpType);
函数声明是:
void fun(CyclicPrefixType_t cpType);
我该如何修复它?我认为这是不正确的。
I have an enum declared as:
typedef enum
{
NORMAL = 0,
EXTENDED
} CyclicPrefixType_t;
CyclicPrefixType_t cpType;
I need a function that takes this as an argument:
fun(CyclicPrefixType_t cpType);
The function declaration is:
void fun(CyclicPrefixType_t cpType);
How can I fix it? I don't think it is correct.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这几乎就是您的操作方式:
这会按预期输出 EXTENDED 的值(在本例中为 31415)。
That's pretty much exactly how you do it:
This outputs the value of
EXTENDED
(31415 in this case) as expected.下面的内容也有效,FWIW(这有点令人困惑......)
显然它是一个遗留的 C 东西。
The following also works, FWIW (which confuses slightly...)
Apparently it's a legacy C thing.