Vampirrr
O_o
offline
Опыт:
19,286Активность: |
Необходимость указать размер массива
Как можете видеть на скрине, компилятор ругается на меня потому, что я не указал размер массива..Вся фигня в том, что я сам не знаю какого он должен быть размера, а malloc и realloc как скажем в С тут нету (хотя могу и ошибаться, ибо CJass мне не нравиться и я в него не углублялся). Но да ладно, дело в том, что чуть выше в коде я объявляю глобальный массив и не указываю его размер и при этом никаких проблем нету..Впринципе я склоняюсь к тому, что это из-за попытки объявить массив внутри структуры, но имхо - не знаю. Будьте добры, объясните в чем проблема.. |
20.06.2010, 09:06 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
AlexKARASb
Learning cpp
offline
Опыт:
22,103Активность: |
да из-за этого; укажи максимальный |
20.06.2010, 09:28 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Vampirrr, ну так напиши допустим unit array a[10]. Учитывай то, сколько ты будешь использовать. Это сделано потому что там не совсем массив... |
20.06.2010, 11:24 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
SRes
1110101000
offline
Опыт:
9,997Активность: |
Vampirrr, Конечно malloc\free нету, джасс даже примерно не может это поддерживать.
Проблема в том что ты забыл о том что в джассе структуры - параллельные массивы, а массивы внутри параллельных массивов... В общем там "выделяется" определенное место "клеточек" в параллельном массиве под иллюзию массива внутри структуры, поэтому нужен размер, иначе не знаем сколько выделять -> fail. |
20.06.2010, 11:56 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
смеешься чтоли? все аллоки это функции динамического выделения памяти в рантайме. в В С жассы компилятся в джас код при сохранении, о чем может быть речь тт естественно нужно указывать размер массива чтобы парсер увидел на сколько делить 8192. т.е. укажешь размер [2] - кол-во допустимых структур уменьшится до 4096 и т.д. (в одной половине будут храниться значения 0 элемента в другой 1) Отредактировано agentex, 20.06.2010 в 13:01. |
20.06.2010, 12:55 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vampirrr
O_o
offline
Опыт:
19,286Активность: |
SRes:
знаю и помню..я думал что он выделяет автоматом, по максимуму и потом просто использует то, что ему надо, как в обычных массивах)
В общем всем спасибо большое, надеюсь больше 300 юнитов на игрока у меня не станет) |
20.06.2010, 17:18 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|