2010-07-04 84 views
0

編譯器抱怨這一點:這個功能有什麼問題?

_cmd未申報

'自我' 未聲明(第一次在這個 使用:

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

功能)

當我在這裏不使用arc4random()時,即只返回1,一切都很好。我在這個文件中使用arc4random()沒有問題的其他c函數。

有什麼想法?

回答

3

你需要使用它之前告訴arc4random()函數的簽名,即

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

或包含/導入相應的頭文件。如果你的randomSort函數真的是第一行,那麼顯然以前沒有行,這使得你不可能包含/導入(不涉及預編譯頭文件)。

+0

相應的頭文件是stdlib.h。 http://developer.apple.com/iphone/library/documentation/system/conceptual/manpages_iphoneos/man3/arc4random.3.html – JeremyP 2010-07-04 12:12:57