C 什么';这个函数有什么问题?

C 什么';这个函数有什么问题?,c,objective-c,C,Objective C,编译器对此抱怨: int randomSort(id obj1, id obj2, void *context) { // first line return (arc4random()%3 - 1); } 第一行: _cmd未声明 及 未声明的“self”(在本文档中首次使用) 功能) 当我在这里不使用arc4random()时,即只返回1,一切正常。我在这个文件中还有其他c函数,它们使用arc4random()没有问题 有什么想法吗?在使用arc4random()函数之前,您需要告

编译器对此抱怨:

int randomSort(id obj1, id obj2, void *context) { // first line
    return (arc4random()%3 - 1);
}
第一行:

_cmd未声明

未声明的“self”(在本文档中首次使用) 功能)

当我在这里不使用arc4random()时,即只返回1,一切正常。我在这个文件中还有其他c函数,它们使用arc4random()没有问题


有什么想法吗?

在使用arc4random()函数之前,您需要告诉它的签名,即

int arc4random();  // or whatever it looks like

或包含/导入适当的头文件。如果您的randomSort函数实际上是第一行,那么之前显然没有任何行,这使得您不可能包含/导入该行(此处不涉及预编译头)。

在使用arc4random()函数之前,您需要告知其签名,即

int arc4random();  // or whatever it looks like

或包含/导入适当的头文件。如果您的randomSort函数实际上是第一行,那么之前显然没有行,这使得您不可能包含/导入该行(此处不涉及预编译头)。

适当的头是stdlib.h。适当的标头是stdlib.h。