(C3107) Subroutines with illegal parameter type or return type
A subroutine uses an illegal parameter type or return type. The following table lists the illegal definitions for UDTs.
(*) In these cases, an interim UDT is needed. For example, if the return type of a function should be an array of string, it should be defined asUDT
array of
STR_UDT
, andSTR_UDT
, a string.subroutine <subroutine name>
return type <user-def type>, defined as <type> <user-def type>, type of parameter <parameter>, defined as <type>A subroutine, defined as a function, has a return typeT_ARR_STR
.T_ARR_STR
is defined as an array of strings from 1 to 5. The error is generated becauseT_ARR_STR
is defined directly. To correct this error, an intermediate UDT is required: