这个警告在一些第三方库中弹出了一堆。
有没有办法在不修改代码的情况下处理它(例如忽略警告)?
如果我必须修改代码来修复它,我该怎么做?
这是导致警告的代码块之一:
BOOL FBIsDeviceIPad() {
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 30200
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
return YES;
}
#endif
return NO;
}
最佳答案
通常有这样的警告,你可以在文件顶部定义一个函数原型(prototype),例如:
BOOL FBIsDeviceIPad();
但在 C 中,大括号之间没有任何内容的方法,即 ()
实际上意味着存在任意数量的参数。相反,定义应该变成 (void)
来表示 no 参数:
BOOL FBIsDeviceIPad(void);
...
BOOL FBIsDeviceIPad(void) {
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 30200
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
return YES;
}
#endif
return NO;
}
关于objective-c - 如何处理 Xcode 警告 "no previous prototype for function..."?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7097660/