System verilog function argument output

So,
Where ever we use function without return value inside procedural block it should not affect the flow, And if used it should return some value,
like

function int try(input int a, output int b ,c);
    b = a;
    c = a;
    return 1;
endfunction : try
  
  initial begin
    int b;
    @(try(5,b,c));
  end

right dave?