2011-07-22 73 views
0

我要搜索的NSDate的數組,所以在這裏我做什麼:傳遞函數作爲參數

searchResult = CFArrayBSearchValues((CFArrayRef)someDateArray, arrayRange, dateToFind, CFDateCompare, nil); 

不過,我得到這樣的警告:

過客「CFComparisonResult(CFDateRef不兼容的指針類型, CFDateRef,無效)」到類型的參數 'CFComparatorFunction'(又名 'CFComparisonResult()(常量無效*,常量無效*,無效*)')

如何正確傳遞函數作爲參數?我想我的語法錯了。

回答

4

您需要將函數指針轉換爲CFComparatorFunction類型,因爲它具有更明確的簽名(它使用CFDateRef而不是void *)。

searchResult = CFArrayBSearchValues((CFArrayRef)someDateArray, arrayRange, dateToFind, (CFComparatorFunction)CFDateCompare, nil);