Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Описание: Если размерность массива указана переменными.
RussianRemaker
Отправлено: 10 Марта, 2014 - 23:47:54
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 26
Дата рег-ции: Февр. 2014  
Репутация: 0




При написании кода столкнулся с такой ситуацией, когда размерность массива вычисляется во время работы скрипта и какой она будет, предугадать невозможно.
Но оказалось, если размерность массива указана с помощью переменных и после этого происходит передача указателя на такой массив в функцию, то Кибор завершает свою работу с ошибкой.

Например, этот код работает:
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

Конечно, можно задать размерность массива изначально слишком большой, чтобы не произошло переполнение, но это не очень удобно.
 
 Top
Kibor
Отправлено: 10 Марта, 2014 - 23:53:28
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8102
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Не ошибка это. Нед динамичных массивов.
Только задавать больший с запасом.
 
 Top
RussianRemaker
Отправлено: 11 Марта, 2014 - 00:04:14
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 26
Дата рег-ции: Февр. 2014  
Репутация: 0




Понятно.
Не удобно, но не критично. Попробую реализовать передачу промежуточных результатов, как-нибудь по другому.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Отчет о ошибках »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by