массив структур
|
|
DeadMamont | Дата: Вторник, 28 Июня 2011, 00:17:36 | Сообщение # 1 |
2 уровень
Группа: Пользователи
Сообщений: 34
Награды: 0
Репутация: 0
Блокировки:
| Вот код функции:
При первом заходе в неё возвращает: 0. При втором: 64. Массив из структур это рабочая конструкция? Если да, в чём беда?Добавлено (28-06-2011, 00:17) --------------------------------------------- После первого прохода BuildingUnit[0].building присваивается значение.
|
|
|
|
Эллесар | Дата: Вторник, 28 Июня 2011, 01:06:34 | Сообщение # 2 |
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
| По идеи это массив интегеров. это сылка на твой объект. Поэтому нужно создавать их.
база паролей: https://yadi.sk/d/mdDhWuvPcTSKw бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
|
|
|
|
DeadMamont | Дата: Вторник, 28 Июня 2011, 01:45:40 | Сообщение # 3 |
2 уровень
Группа: Пользователи
Сообщений: 34
Награды: 0
Репутация: 0
Блокировки:
| или просто сделать все внутрение елементы массивами
|
|
|
|
Faion | Дата: Вторник, 28 Июня 2011, 02:08:26 | Сообщение # 4 |
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
| Открою тайну, структура == массив. Нельзя сделать массив структур, элемент структуры так же не может быть массивом. Учите мат часть.
[Устное от модератора FkoFF: Поправь тормоза, а то заносит сильно.]
О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас. My Project: Nindogatari MAL
Сообщение отредактировал Faion - Вторник, 28 Июня 2011, 02:09:07 |
|
|
|
DeadMamont | Дата: Вторник, 28 Июня 2011, 16:03:32 | Сообщение # 5 |
2 уровень
Группа: Пользователи
Сообщений: 34
Награды: 0
Репутация: 0
Блокировки:
| Quote (Faion) Открою тайну, структура == массив. Нельзя сделать массив структур, элемент структуры так же не может быть массивом. Учите мат часть. Ха, забавно, я находил статью в и-нете, где автор показывает пример с массивами внутри структуры, выходит один из вас некомпетентен. Я пробовал задавать в структуре массивы и ничего хорошего из этого не вышло. Одно обидно, проверка не показывает ошибок когда задаешь массивы внутри стуктуры или саму структуру массивом.
|
|
|
|
Faion | Дата: Среда, 29 Июня 2011, 11:54:01 | Сообщение # 6 |
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
| Quote (DeadMamont) Ха, забавно, я находил статью в и-нете, где автор показывает пример с массивами внутри структуры, выходит один из вас некомпетентен. Я пробовал задавать в структуре массивы и ничего хорошего из этого не вышло. Одно обидно, проверка не показывает ошибок когда задаешь массивы внутри стуктуры или саму структуру массивом.
Значит тот аффтор нуб. Накидай структуру. а потом скомпилируй, и увидишь, или проще, скачай vjass manual, там есть развертка vjass структур.
Двумерные массивы, либы, скопы, приваты\паблики, импорты и прочее, это всего лишь эмуляция, за счет простых шаманств. Так же и структуры всего лишь эмулированы. Учитывая что 3х мерных массивов еще не нашаманили на плафторме вара, то и естественно структур с массивами или массива структур нет, и быть не может.
О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас. My Project: Nindogatari MAL
|
|
|
|
DragoN | Дата: Четверг, 30 Июня 2011, 00:23:35 | Сообщение # 7 |
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
| массив структур работает, если руки прямые объявить в глобалках этот массив и ловить профит если не верите - можете покурить DGUI
El Psy Congroo
|
|
|
|
DeadMamont | Дата: Четверг, 30 Июня 2011, 00:43:36 | Сообщение # 8 |
2 уровень
Группа: Пользователи
Сообщений: 34
Награды: 0
Репутация: 0
Блокировки:
| Quote (DragoN) массив структур работает, если руки прямые объявить в глобалках этот массив и ловить профит если не верите - можете покурить DGUI пример показать можешь?
|
|
|
|
Эллесар | Дата: Четверг, 30 Июня 2011, 01:49:42 | Сообщение # 9 |
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
| Quote (DeadMamont) пример показать можешь?
если я тебя правельно понял то:
Code struct MyStruct integer a integer a2 integer a3 integer a4 string b1 static integer zz = 0 static method InitStruct takes integer i returns nothing local integer a = MyStruct.zz set MyStruct.zz = MyStruct.zz + i loop exitwhen i <=0 set i = i-1 set zfds[i+a] = MyStruct.create() call DisplayTextToForce( GetPlayersAll(), I2S(zfds[i+a]) ) endloop endmethod endstruct globals MyStruct array zfds endglobals
Вызываем метод:
Code call MyStruct.InitStruct(100)
и дальше можно присваивать
set zfds[0].a = 23 set zfds[1].a = 23 set zfds[2].a = 54
база паролей: https://yadi.sk/d/mdDhWuvPcTSKw бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
|
|
|
|
DeadMamont | Дата: Четверг, 30 Июня 2011, 12:30:12 | Сообщение # 10 |
2 уровень
Группа: Пользователи
Сообщений: 34
Награды: 0
Репутация: 0
Блокировки:
| мм) я как-то сам не додумался... спасибо.
|
|
|
|