我正在開發一個iphone應用程序,當我編譯它時,我收到一些警告。該應用程序的工作原理,但可能刪除所有警告不是很有趣嗎?NSAllocateCollectable它可能與iPhone應用程序?
這是其中之一,我不能低估,基本上是因爲我是一個iPhone SDK的「新手」,這個類來自另一個代碼(免費代碼)。
警告是:
警告:的功能隱式聲明 'NSAllocateCollectable' 警告:初始化時將整數指針,未作鑄造
的代碼是這樣的:
double *MatrixAllocateArray(NSUInteger rows, NSUInteger columns)
{
// Allocate an array to hold [rows][columns] matrix values
NSCParameterAssert(rows!=0);
NSCParameterAssert(columns!=0);
__strong double *array = NSAllocateCollectable(SIZEOFARRAY(rows,columns),0); //(WARNINGS APPEAR HERE)
NSCAssert2(array!=NULL,@"falled to allocate %dx%d matrix",rows,columns);
return array;
}
正如你可以看到這個函數試圖分配一個矩陣,它被另一個函數調用。
double *MatrixAllocateEmptyArray(NSUInteger rows, NSUInteger columns)
{
// Allocate a matrix array and fill it with zeros
__strong double *emptyArray = MatrixAllocateArray(rows,columns);
bzero(emptyArray,SIZEOFARRAY(rows,columns));
return emptyArray;
}
,這是由我執行的功能和需要調用:
- (id)initWithRows:(NSUInteger)rowCount columns:(NSUInteger)colCount
{
// Create an empty matrix
return [self initWithAllocatedArray:MatrixAllocateEmptyArray(rowCount,colCount)
rows:rowCount
columns:colCount];
}