function foo takes unit returns nothing
call kill(unit)
endfunction
function bar takes nothing returns nothing
call foo(GetTriggerUnit())
endfunction
everything will work proberly but if you would have writen it like this:
function bar takes nothing returns nothing
call foo(GetTriggerUnit())
endfunction
function foo takes unit returns nothing
call kill(unit)
endfunction
it woul give an error like "function name excpected" or something like that. That is, becouse the function bar() does not 'know' the function foo(). A function knows only functions that have been created above itself.
therefore if you create two triggers in GUI, the one below does know the one above, but not vice versa (the editor fixes this if you use the GUI-Version of calling triggers)