文件foo.h中有一个名为randomenum的枚举:

// foo.h
typedef enum RandomEnum {
  ran_1 = 0,
  ran_2
} RandomEnum;

在另一个文件,bar .h中,我尝试使用RangNeMUM作为参数类型:
// bar.h
#import "foo.h"

@interface bar : NSObject {}
  -(RandomEnum)echo:(RandomEnum)ran;
@end

然而,编译器似乎无法识别randomenum。这样做有可能吗?
编译器错误:
error: expected ')' before 'RandomEnum'

编辑:添加了foo.h代码以进行澄清

最佳答案

c构造enum RandomEnum没有定义一个名为RandomEnum的类型-它定义了一个名为enum RandomEnum的类型。要只为类型编写RandomEnum,需要使用typedef。

07-26 09:37