{{fbdoc item="title" value="DEFINED"}}---- Preprocessor function to test if a symbol has been defined {{fbdoc item="syntax"}}## **defined** (//symbol_name//) ## {{fbdoc item="param"}} ##//symbol_name//## Name of the symbol to test {{fbdoc item="ret"}} Returns non-zero (##-1##) if the symbol has been defined, otherwise returns zero (##0##). {{fbdoc item="desc"}} Given the symbol name, the ##**defined()**## preprocessor function returns true if the symbol has been defined - or false if the symbol is unknown. This is used mainly with ##[[KeyPgPpif|#if]]## (or ##[[KeyPgPpelseif|#elseif]]##). Similar to ##[[KeyPgPpifdef|#ifdef]]## (or ##[[KeyPgPpelseifdef|#elseifdef]]##) except it allows more than one check to occur because of its flexibility. {{fbdoc item="ex"}} {{fbdoc item="filename" value="examples/manual/prepro/defined.bas"}}%%(freebasic) 'e.g. - which symbols are defined out of a, b, c, and d ? const a = 300 #define b 12 dim c as single #if defined(a) print "a is defined" #endif #if defined(b) print "b is defined" #endif #if defined(c) print "c is defined" #endif #if defined(d) print "d is defined" #endif %% {{fbdoc item="diff"}} - New to ""FreeBASIC"" {{fbdoc item="see"}} - ##[[KeyPgPpdefine|#define]]## - ##[[KeyPgPpmacro|#macro]]## - ##[[KeyPgPpif|#if]]## - ##[[KeyPgPpelse|#else]]## - ##[[KeyPgPpelseif|#elseif]]## - ##[[KeyPgPpelseifdef|#elseifdef]]## - ##[[KeyPgPpelseifndef|#elseifndef]]## - ##[[KeyPgPpendif|#endif]]## - ##[[KeyPgPpifdef|#ifdef]]## - ##[[KeyPgPpifndef|#ifndef]]## - ##[[KeyPgPpundef|#undef]]## {{fbdoc item="back" value="CatPgPreProcess|Preprocessor"}}