这个警告在一些第三方库中大量出现。
有没有一种方法可以在不修改代码的情况下处理它(例如,忽略警告)?
如果我必须修改代码来修复它,我该怎么做?
以下是导致警告的代码块之一:
BOOL FBIsDeviceIPad() {
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 30200
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
return YES;
}
#endif
return NO;
}发布于 2011-10-20 02:05:08
通常,对于这样的警告,您可以在文件的顶部定义一个函数原型,例如:
BOOL FBIsDeviceIPad();,但C中的是一个大括号之间没有任何东西的方法,即()实际上意味着有任意数量的参数。相反,定义应该变成(void),以表示没有参数:
BOOL FBIsDeviceIPad(void);
...
BOOL FBIsDeviceIPad(void) {
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 30200
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
return YES;
}
#endif
return NO;
}发布于 2011-08-18 02:39:21
在Xcode4中,转到项目的构建设置。搜索"prototype“。应该有一个名为“缺失函数原型”的选项;禁用它。您也可以对有问题的特定目标执行此操作。
发布于 2012-09-25 21:50:21
如果将此类函数定义为内联,则不会出现任何警告。
只要您的函数针对内联使用进行了优化,这就足够了。http://msdn.microsoft.com/en-us/library/1w2887zk.aspx
https://stackoverflow.com/questions/7097660
复制相似问题