如果我在头文件中有类似下面的内容,我如何声明一个返回类型为Foo的枚举的函数?
enum Foo
{
BAR,
BAZ
};
Run Code Online (Sandbox Code Playgroud)
我可以做以下的事情吗?
Foo testFunc()
{
return Foo.BAR;
}
Run Code Online (Sandbox Code Playgroud)
或者我需要使用typedef或指针或什么?
Jon*_*ler 47
在C++中,你可以只使用Foo.
在C中,必须使用enum Foo,直到为它提供typedef.
然后,当你提到BAR时,你不要Foo只使用它enum Foo.所有枚举常量共享相同的命名空间.
因此(对于C):
enum Foo { BAR, BAZ };
enum Foo testFunc(void)
{
return BAR;
}
Run Code Online (Sandbox Code Playgroud)
或者,用BAR:
typedef enum Foo { BAR, BAZ } Foo;
Foo testFunc(void)
{
return BAR;
}
Run Code Online (Sandbox Code Playgroud)
我相信其中的各个值本身enum就是标识符,只需使用:
enum Foo testFunc(){
return BAR;
}
Run Code Online (Sandbox Code Playgroud)