Я разрабатываю приложение для 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];
}