Итак, я пытаюсь выделить память для двумерного массива int, чтобы я мог ссылаться на него за пределами цикла, в котором определяется размер. (У меня проблема с масштабом, потому что размер массива не фиксирован.)Скрипрованное значение не является ни массивом, ни указателем
Так что это было предлагаемое решение, но я получаю сообщение об ошибке «Значение сценария не является ни массивом, ни указателем». Кто-нибудь знает, что я делаю неправильно?
//M and m are just 2 int numbers
int X = self.create2dArray(M,m);
for(int kk = 0; kk < M; kk++)
{
for (int kk1 = 0; kk1 < m; kk1++)
{
//small "x" is an NSMutableArray of NSNumbers. So I am just running the 2 for loops to fill the whole 2D array
X[kk][kk1] = [[x objectAtIndex: (kk + kk1 * J)] intValue]; //ERROR Line
}
}
//outside of Main
static inline int **create2dArray(int w, int h)
{
size_t size = sizeof(int) * 2 + w * sizeof(int *);
int **arr = malloc(size);
int *sizes = (int *) arr;
sizes[0] = w;
sizes[1] = h;
arr = (int **) (sizes + 2);
for (int i = 0; i < w; i++)
{
arr[i] = calloc(h, sizeof(**arr));
}
return arr;
}
Это фиксированный мой вопрос. Кажется глупо оглядываясь на него. Его всегда что-то тонкое, что я скучаю. Огромное спасибо! – MrHappyAsthma