The header file for creating Custom Functions (Prime) or User DLLs (Mcad15) creates three pre-compiler defines to facilitate telling function definitions what type of parameters are being passed; Complex scalar, complex array, or string. These definitions
#define COMPLEX_SCALAR 1 // Used to indicate an COMLEXSCALAR type
#define COMPLEX_ARRAY 2 // Used to indicate an COMPLEXARRAY type
#define STRING 8 // Used to indicate an MCSTRING type
are not used anywhere else in the header file and are for user convenience only. However, STRING is a very common name and has a high probability of conflicting with other code that is being linked in or included (I've already had an issue). Following the example of the first two defines, a far better choice would be to define:
#define MC_STRING 8 // Used to indicate an MCSTRING type
This would have a much lower probability of conflicting with another definition of STRING in another construct being used, and clearly identify the variable as belonging to Mathcad.