Argument Passed by Reference cannot be used within fork-join_any/join_none

To get more info a an error message use verror

eg verror 2295

# Message # 2295: # Within a fork-join_any or fork-join_none block, it shall be illegal to refer to formal # arguments passed by reference other than in the initialization value expression of variables # declared in a block_item_declaration of the fork. # # [DOC: IEEE Std 1800-2009 Verilog LRM - Section 9.3.2 "Parallel blocks"]

From page 159 of IEEE Std 1800-2009 SystemVerilog LRM

Variables declared in the block_item_declaration of a fork-join block shall be initialized to their initialization value expression whenever execution enters their scope and before any processes are spawned. Within a fork-join_any or fork-join_none block, it shall be illegal to refer to formal arguments passed by reference other than in the initialization value expressions of variables declared in a block_item_declaration of the fork.

So your code looks to be non-LRM compliant