Objective c 使用用户定义的类型(带有typedef)作为方法参数
我用这段代码定义了一个新类型Objective c 使用用户定义的类型(带有typedef)作为方法参数,objective-c,iphone,Objective C,Iphone,我用这段代码定义了一个新类型 typedef enum result { error, error1, erorr2, }result; 之后,我想实现一个以“result”作为参数的方法 - (void) setError:(result)errorNumber 这似乎是不允许的,并给我一个编译器错误 无法将用户定义的类型用作方法参数 在使用之前,需要导入包含typedef的头文件。例如: 文件1.h: typedef enum { a, b, c }
typedef enum result
{
error,
error1,
erorr2,
}result;
之后,我想实现一个以“result”作为参数的方法
- (void) setError:(result)errorNumber
这似乎是不允许的,并给我一个编译器错误
无法将用户定义的类型用作方法参数 在使用之前,需要导入包含typedef的头文件。例如: 文件1.h:
typedef enum { a, b, c } resultType;
文件2.h:
#import "File1.h"
...
- (void) someMethod:(resultType)param;
File1.h
可以根据需要导入到任意多个头文件(或实现)中。对不起,写入错误-(void)setTError:(result)errorNumber;但在这种情况下,它也会给我一个error@Luca你的打字机在哪里?它在同一个文件中吗?编译器错误消息是什么?仅当我尝试在另一个.h文件中使用某个方法的用户定义类型ad参数时,才会比较编译器错误。我已经导入了带有类型声明的.h文件…不能在另一个文件中使用它吗?导入带有类型定义的头文件?thanks@Luca我已经更改了答案(以及您的问题),以反映您添加的新信息。@Luca另外,一般来说,您应该包括实际的错误消息,而不是只说有错误消息。请告诉我们错误是什么?我已经在前缀文件中移动了tyoedef,所有操作都正常