我的班级标题中有这个:
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 我不知道为什么。谁能帮我弄清楚为什么我会收到这个错误?谢谢。