我在注释行收到错误“未声明的标识符”:
- (BOOL) isInIntArray:(NSInteger[])array theElem:(int)elem{
int i = 0;
NSInteger sizeOfArray = (sizeof array) / (sizeof array[0]);
while(i < sizeOfArray){
if(array[i] == elem){
return TRUE;
}
i++;
}
return FALSE;
}
- (int)getNextUnusedID{
int i = rand()%34;
while ([isInIntArray:idsUsed theElem:i]) { //here: Use of undeclared identifier 'isInIntArray'
i = rand()%34;
}
return i;
}
我真的不明白为什么,它们在同一个.m
文件中。为什么会这样?
另外,这段代码:
NSInteger sizeOfArray = (sizeof array) / (sizeof array[0]);
给我警告:
数组函数上的 Sizeof 将返回 Sizeof 'NSInteger *' (aka: 'int *') 而不是 'NSInteger[]'"
我应该如何正确确定数组的大小?