1
超級快速問題,我最初的想法是這不起作用,但後來我想,爲什麼不放棄它。現在我認爲它不會工作,因爲結果數組看起來沒有正確形成?我的問題,這個工作?動態大小數組?
NSUInteger numPoints = [[[self dataModel] locationFake] count];
CLLocationCoordinate2D points[numPoints];
超級快速問題,我最初的想法是這不起作用,但後來我想,爲什麼不放棄它。現在我認爲它不會工作,因爲結果數組看起來沒有正確形成?我的問題,這個工作?動態大小數組?
NSUInteger numPoints = [[[self dataModel] locationFake] count];
CLLocationCoordinate2D points[numPoints];
不,它不會工作,因爲points[]
數組需要靜態調整大小。也就是說,編譯器需要知道該數組的大小,但直到運行時纔可能知道它。
如果將其更改爲:
CLLocationCoordinate2D *points = malloc(numPoints * sizeof(CLLocationCoordinate2D));
這應該工作。當你完成後不要忘記free()
。
我的問題:爲什麼不試試呢? – vikingosegundo 2011-01-20 17:53:20
我確實嘗試過並且無法使用它,然後我在其他一些在線代碼中發現了它,這讓我開始思考。我非常肯定它不會工作,一半預計會得到一個編譯錯誤。但就像我說的在線例子讓我想... – fuzzygoat 2011-01-20 17:57:42