Сейчас 10:32:35 Понедельник, 25 ноября, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
массив структур
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
Блокировки:
мм) я как-то сам не додумался... спасибо.
 

  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz