编译器抱怨这个:
int randomSort(id obj1, id obj2, void *context) { // first line
return (arc4random()%3 - 1);
}
在第一行:
_cmd未声明
和
'self'未宣布(首次使用此处 功能)
当我不在这里使用arc4random()时,即只返回1,一切都很好。我在这个文件中有其他c函数,它们使用arc4random()没有问题。
有什么想法吗?
答案 0 :(得分:3)
你需要在使用之前告诉arc4random()函数的签名,即
int arc4random(); // or whatever it looks like
或者包含/导入适当的头文件。如果你的randomSort函数真的是第一行,那么显然之前没有行,这使得你不可能包含/导入它(这里没有关于预编译的头文件)。