如果我在头文件中有类似下面的内容,我如何声明一个返回类型为Foo的枚举的函数?
enum Foo
{
   BAR,
   BAZ
};
我可以做以下的事情吗?
Foo testFunc()
{
    return Foo.BAR;
}
或者我需要使用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;
}
或者,用BAR:
typedef enum Foo { BAR, BAZ } Foo;
Foo testFunc(void)
{
    return BAR;
}
我相信其中的各个值本身enum就是标识符,只需使用:
enum Foo testFunc(){
  return BAR;
}
| 归档时间: | 
 | 
| 查看次数: | 56175 次 | 
| 最近记录: |