gpt4 book ai didi

c - 从 C 中的函数返回枚举?

转载 作者:太空狗 更新时间:2023-10-29 16:23:40 24 4
gpt4 key购买 nike

如果我在头文件中有类似下面的内容,我该如何声明一个返回 Foo 类型枚举的函数?

enum Foo
{
BAR,
BAZ
};

我可以做类似下面的事情吗?

Foo testFunc()
{
return Foo.BAR;
}

或者我是否需要使用 typedef 或指针之类的东西?

最佳答案

在 C++ 中,您可以只使用 Foo

在 C 中,您必须使用 enum Foo 直到您为它提供 typedef。

然后,当您引用 BAR 时,您不使用 Foo.BAR 而只是 BAR。所有枚举常量共享相同的命名空间(“普通标识符”命名空间,由函数、变量等使用)。

因此(对于 C):

enum Foo { BAR, BAZ };

enum Foo testFunc(void)
{
return BAR;
}

或者,使用 typedef:

typedef enum Foo { BAR, BAZ } Foo;

Foo testFunc(void)
{
return BAR;
}

关于c - 从 C 中的函数返回枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/742699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com