Практикую раскладывание BJ функций на состовляющие, все бы хорошо, но почему в событии выдает ошибку при попытке приравнять интегер к "null"???
function InitTrig_Molot takes nothing returns nothing
set gg_trg_Molot = CreateTrigger()
local integer i = 0
loop
call TriggerRegisterPlayerUnitEvent(gg_trg_Molot, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null)
set i = i + 1
exitwhen i == bj_MAX_PLAYER_SLOTS
endloop
call TriggerAddCondition( gg_trg_Molot, Condition( function Trig_Molot_Conditions ) )
call TriggerAddAction( gg_trg_Molot, function Trig_Molot_Actions )
!!set i = null!!
endfunction
так выглядит ошибка "cannot convert null to integer".
В событиях нельзя раскладывать BJ или я что-то упускаю?
Принятый ответ
интережер это число
а null это объект
число не является объектом
следовательно их нельзя сравнивать/приравнивать
а null это объект
число не является объектом
следовательно их нельзя сравнивать/приравнивать
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
а null это объект
число не является объектом
следовательно их нельзя сравнивать/приравнивать
nvc123: Заодно можешь подсказать, есть ли утечка в данном случае какая-нибудь?
https://xgm.guru/p/wc3/w3datatypes
прочти те 2 статьи
там про оптимизацию и типы переменных