При написании кода столкнулся с такой ситуацией, когда размерность массива вычисляется во время работы скрипта и какой она будет, предугадать невозможно.
Но оказалось, если размерность массива указана с помощью переменных и после этого происходит передача указателя на такой массив в функцию, то Кибор завершает свою работу с ошибкой.
Например, этот код работает:
CODE:int a[10][50];
plus(#a[0][0]);
messagebox(a[5][25]);
function plus(int #c){
c[5][25] = 5;
}
А этот код не работает:
CODE:int k = 10;
int l = 50;
int a[k][l];
plus(#a[0][0]);
messagebox(a[5][25]);
function plus(int #c){
c[5][25] = 5;
}
Выдается ошибка:
Ошибка индификации указателя: #a
Конечно, можно задать размерность массива изначально слишком большой, чтобы не произошло переполнение, но это не очень удобно. |