【发布时间】:2013-06-12 17:48:25
【问题描述】:
我的班级标题中有这个:
typedef void(^DBSuccessBlock)();
typedef void(^DBErrorBlock)(int errorNumber, NSString* description);
- (void) connect:(NSString*) path isFile:(BOOL) flag
success:(DBSuccessBlock) success
error:(DBErrorBlock) error;
这就是我尝试调用该方法的方式:
[db connect:filePathName isFile:YES success:^{
// initialize db here if necessary
} error:^(int errorNumber, NSString *description) { //error on this line
NSLog(description);
return nil;
}];
错误行给了我这个编译错误:不兼容的块指针类型将'void *(^)(int, NSString *_strong)'发送到'DBErrorBlock'类型的参数(又名'void (^) (int, NSString *_strong)')
我看到的唯一区别是 void* 与 void,我不知道为什么。谁能帮我弄清楚为什么我会收到这个错误?谢谢。
【问题讨论】:
-
你 100% 确定这是你的
typedefs 和方法声明的样子吗? -
我直接从我的文件中复制了它。