# ARGTYP Parameters > [HTML Version](argtyp-parameters.htm) **Warning**: It is easy to accidentally specify _arg_ when you meant _@arg_, both of which are syntactically correct (assuming _arg_ is the name of an argument in the current context) but have vastly different meaning. To help avoid this mistake, the compiler (as of edit 1065) will treat _arg_ as an error if it matches a current argument name; if you really meant to reference the argument by number, use a literal number or a variable that isn't a current argument. **Parameters** Note that these parameters apply to all of the .ARG... functions. _argno_ ([Unsigned int](integer-unsigned.htm.md)) \[in\] The ordinal number of the argument being queried, starting from 1. Note that in the case of [Named Parameters](namedparameters.htm.md), the parameter numbers are determined by the function declaration or subroutine DEFXCALL directive, not necessarily by the order specified in the calling statement. If the _argno_ passed is invalid, the return value of the function will be -1. _@arg_ (Literal parameter name) \[in\] This syntax provides an alternate way to reference the parameter of interest by its name rather than its ordinal number. The concept is similar to that used for XPUTARG _@arg_ : _@arg_ is treated by the compiler as a macro for the argument number corresponding to the argument _arg_ as defined in the function/procedure definition or as retrieved in an SBX using XGETARG(S).