“Implicit declaration of function 'callbackBlock' is invalid in C99”
-函数“callbackBlock”的隐式声明在C99中无效
该警告明确告诉我们在C99的规范中,不允许出现隐含声明的用法。这是C99规范中增加的规则。
什么是隐含声明呢,也很简单,就是你调用函数的c文件中,没有正确包含对应的头文件。一般来说,c,c++都会将类,函数,的声明放在头文件中,这样在需要的时候包含对应头文件就可以了,在编译器的前期处理中,需要通过头文件来建立一些函数,变量,类的表,如果调用到了声明中没有的函数,编译器会认为是有危险的,显而易见,如果直接调用函数,在运行期间会出现程序异常。
因此强烈建议大家不要忽略这个警告,更不要象个别文章建议的那样把编译环境配置成C89,这样隐患依然存在。
解决方法:
1.具体情况:
检查你使用的方法是否有 已经提前做了声明 。
例如是 方法
+ (void)searchShop:(NSString *)shopName
pageIndex:(NSInteger)pageIndex
pageSize:(NSInteger)pageSize
callback:(***)callbackBlock
error:(***)errorBlock {}报警
你需要在检查 你的callback:(***)callbackBlock 等有没有在.h文件或者开始声明的地方写全或者一致;
2. 可以参考
https://blog.csdn.net/sinat_23907467/article/details/80665837
其他参考链接: