int i;
va_list objects_list;
va_start(objects_list, objects);
for (id o = objects, i = 0; o != nil; o = va_arg(objects_list, id), i++);
objectsInArray = malloc(sizeof(id) * i);
va_end(objects_list);
// ... (malloc NULL checking is here, does not involve i)
va_start(objects_list, objects);
for (id o = objects, i = 0; o != nil; o = va_arg(objects_list, id), i++) {
objectsInArray[i] = o;
}
va_end(objects_list);
objectsInArray[i] = o;
행에 Array subscript is not an integer
오류가 표시됩니다. objectsInArray
은 id *objectsInArray
으로 선언되었습니다.배열 첨자가 정수가 아닙니다.
i
은 int
이므로이 오류가 발생하는 이유는 무엇이며 어떻게 해결할 수 있습니까? 미리 감사드립니다.
Aha! 당신 말이 맞아요, 지금보십시오 :) –
@Radek : 컴파일러가 이런 유형의 버그에 대해 경고하도록 제안을 추가했습니다. – mvds
내가 Xcode를 사용하고 있다는 것을 어떻게 아는가? –