Compiler Error Messages
During the program compilation three types of errors can arise:
Compiler Warnings:
The warnings don't stop the compilation, just alert the user some non-recommended and error-prone operation is attempted in the code.
Sometimes one of these operations is coded deliberately to achieve a result, in this case the warnings can be disabled by setting the -w 1 option at the command line.

- 1 Passing scalar as pointer
- 2 Passing pointer to scalar
- 3 Passing different pointer types
- 4 Suspicious pointer assignment
- 5 Implicit conversion
- 6 Cannot export symbol without -export option
- 7 Identifier's name too big, truncated
- 8 Literal number too big, truncated
- 9 Literal string too big, truncated
- 10 UDT with pointer or var-len string fields
- 11 Implicit variable allocation
- 12 Missing closing quote in literal string
- 13 Function result was not explicitly set
- 14 Branch crossing local variable definition
- 15 No explicit BYREF or BYVAL
- 16 Possible escape sequence found in
- 17 The type length is too large, consider passing BYREF
- 18 The length of the parameters list is too large, consider passing UDT's BYREF
- 19 The ANY initializer has no effect on UDT's with default constructors
- 20 Object files or libraries with mixed multithreading (-mt) options
- 21 Object files or libraries with mixed language (-lang) options
- 22 Deleting ANY pointers is undefined
- 23 Array too large for stack, consider making it var-len or SHARED
- 24 Overflow in constant conversion
- 25 Variable following NEXT is meaningless
- 26 Cast to non-pointer
- 27 Return method mismatch
- 28 Passing Pointer
- 29 Command line option overrides directive
- 30 Directive ignored after first pass
- 31 'IF' statement found directly after multi-line 'ELSE'
- 32 Shift value greater than or equal to number of bits in data type
- 33 'BYVAL AS STRING' actually behaves like 'BYREF AS ZSTRING' (this is hoped to change in future releases)

Compiler Error messages:
The error messages stop the compilation after 10 errors (see the -maxerr command-line option to change that default value) or a fatal error occurred, and require a correction by the user before the compilation can be continued. The compiler signals the lines where the errors have been found, so the correction can be done quickly. In a few cases the place pointed at by the error messages is not where the errors can be found, it's the place where the compiler has given up in waiting for something that should be somewhere.

- 1 Argument count mismatch
- 2 Expected End-of-File
- 3 Expected End-of-Line
- 4 Duplicated definition
- 5 Expected 'AS'
- 6 Expected '('
- 7 Expected ')'
- 8 Undefined symbol
- 9 Expected expression
- 10 Expected '='
- 11 Expected constant
- 12 Expected 'TO'
- 13 Expected 'NEXT'
- 14 Expected identifier
- 15 Expected '-'
- 16 Expected ','
- 17 Syntax error
- 18 Element not defined
- 19 Expected 'END TYPE' or 'END UNION'
- 20 Type mismatch
- 21 Internal!
- 22 Parameter type mismatch
- 23 File not found
- 24 Invalid data types
- 25 Invalid character
- 26 File access error
- 27 Recursion level too deep
- 28 Expected pointer
- 29 Expected 'LOOP'
- 30 Expected 'WEND'
- 31 Expected 'THEN'
- 32 Expected 'END IF'
- 33 Illegal 'END'
- 34 Expected 'CASE'
- 35 Expected 'END SELECT'
- 36 Wrong number of dimensions
- 37 'SUB' or 'FUNCTION' without 'END SUB' or 'END FUNCTION'
- 38 Expected 'END SUB' or 'END FUNCTION'
- 39 Illegal parameter specification
- 40 Variable not declared
- 41 Variable required
- 42 Illegal outside a compound statement
- 43 Expected 'END ASM'
- 44 Function not declared
- 45 Expected ';'
- 46 Undefined label
- 47 Too many array dimensions
- 48 Expected scalar counter
- 49 Illegal outside a CONSTRUCTOR, DESTRUCTOR, FUNCTION, OPERATOR, PROPERTY or SUB block
- 50 Expected var-len array
- 51 Fixed-len strings cannot be returned from functions
- 52 Array already dimensioned
- 53 Illegal without the -ex option
- 54 Type mismatch
- 55 Illegal specification
- 56 Expected 'END WITH'
- 57 Illegal inside functions
- 58 Expected array
- 59 Expected '{'
- 60 Expected '}'
- 61 Too many expressions
- 62 Expected explicit result type
- 63 Range too large
- 64 Forward references not allowed
- 65 Incomplete type
- 66 Array not dimensioned
- 67 Array access, index expected
- 68 Expected 'END ENUM'
- 69 Var-len arrays cannot be initialized
- 70 Invalid bitfield
- 71 Too many parameters
- 72 Macro text too long
- 73 Invalid command-line option
- 74 Var-len strings cannot be initialized
- 75 Recursive TYPE or UNION not allowed
- 76 Recursive DEFINE not allowed
- 77 Array fields cannot be redimensioned
- 78 Identifier cannot include periods
- 79 Executable not found
- 80 Array out-of-bounds
- 81 Missing command-line option for
- 82 Math overflow
- 83 Expected 'ANY'
- 84 Expected 'END SCOPE'
- 85 Illegal inside a compound statement or scoped block
- 86 UDT function results cannot be passed by reference
- 87 Ambiguous call to overloaded function
- 88 No matching overloaded function
- 89 Division by zero
- 90 Cannot pop stack, underflow
- 91 UDT's containing var-len string fields cannot be initialized
- 92 Branching to scope block containing local variables
- 93 Branching to other functions or to module-level
- 94 Branch crossing local array, var-len string or object definition
- 95 LOOP without DO
- 96 NEXT without FOR
- 97 WEND without WHILE
- 98 END WITH without WITH
- 99 END IF without IF
- 100 END SELECT without SELECT
- 101 END SUB or FUNCTION without SUB or FUNCTION
- 102 END SCOPE without SCOPE
- 103 END NAMESPACE without NAMESPACE
- 104 END EXTERN without EXTERN
- 105 ELSEIF without IF
- 106 ELSE without IF
- 107 CASE without SELECT
- 108 Cannot modify a constant
- 109 Expected period ('.')
- 110 Expected 'END NAMESPACE'
- 111 Illegal inside a NAMESPACE block
- 112 Symbols defined inside namespaces cannot be removed
- 113 Expected 'END EXTERN'
- 114 Expected 'END SUB'
- 115 Expected 'END FUNCTION'
- 116 Expected 'END CONSTRUCTOR'
- 117 Expected 'END DESTRUCTOR'
- 118 Expected 'END OPERATOR'
- 119 Expected 'END PROPERTY'
- 120 Declaration outside the original namespace
- 121 No end of multi-line comment, expected "'/"
- 122 Too many errors, exiting
- 123 Expected 'ENDMACRO'
- 124 EXTERN or COMMON variables cannot be initialized
- 125 At least one parameter must be a user-defined type
- 126 Parameter or result must be a user-defined type
- 127 Both parameters can't be of the same type
- 128 Parameter and result can't be of the same type
- 129 Invalid result type for this operator
- 130 Invalid parameter type, it must be the same as the parent TYPE/CLASS
- 131 Vararg parameters are not allowed in overloaded functions
- 132 Illegal outside an OPERATOR block
- 133 Parameter cannot be optional
- 134 Only valid in -lang
- 135 Default types or suffixes are only valid in -lang
- 136 Suffixes are only valid in -lang
- 137 Implicit variables are only valid in -lang
- 138 Auto variables are only valid in -lang
- 139 Invalid array index
- 140 Operator must be a member function
- 141 Operator cannot be a member function
- 142 Member function not allowed in anonymous UDT's
- 143 Expected operator
- 144 Declaration outside the original namespace or class
- 145 A destructor should not have any parameters
- 146 Expected class or UDT identifier
- 147 Var-len strings cannot be part of UNION's or nested TYPE's
- 148 Fields with constructors cannot be part of UNION's or nested TYPE's
- 149 Fields with destructors cannot be part of UNION's or nested TYPE's
- 150 Illegal outside a CONSTRUCTOR block
- 151 Illegal outside a DESTRUCTOR block
- 152 UDT's with methods must have unique names
- 153 Parent is not a class or UDT
- 154 CONSTRUCTOR() chain call not at top of constructor
- 155 BASE() initializer not at top of constructor
- 156 REDIM on UDT with non-CDECL constructor
- 157 REDIM on UDT with non-CDECL destructor
- 158 REDIM on UDT with non-parameterless default constructor
- 159 ERASE on UDT with non-CDECL constructor
- 160 ERASE on UDT with non-CDECL destructor
- 161 ERASE on UDT with non-parameterless default constructor
- 162 This symbol cannot be undefined
- 163 Either 'RETURN' or 'FUNCTION =' should be used when returning objects with default constructors
- 164 Invalid assignment/conversion
- 165 Invalid array subscript
- 166 TYPE or CLASS has no default constructor
- 167 Base UDT without default constructor; missing BASE() initializer
- 168 Base UDT without default constructor; missing default constructor implementation in derived UDT
- 169 Base UDT without default constructor; missing copy constructor implementation in derived UDT
- 170 Invalid priority attribute
- 171 PROPERTY GET should have no parameter, or just one if indexed
- 172 PROPERTY SET should have one parameter, or just two if indexed
- 173 Expected 'PROPERTY'
- 174 Illegal outside a PROPERTY block
- 175 PROPERTY has no GET method/accessor
- 176 PROPERTY has no SET method/accessor
- 177 PROPERTY has no indexed GET method/accessor
- 178 PROPERTY has no indexed SET method/accessor
- 179 Missing overloaded operator:
- 180 The NEW[] operator does not allow explicit calls to constructors
- 181 The NEW[] operator only supports the { ANY } initialization
- 182 The NEW operator cannot be used with strings
- 183 Illegal member access
- 184 Expected ':'
- 185 The default constructor has no public access
- 186 Constructor has no public access
- 187 Destructor has no public access
- 188 Accessing base UDT's private default constructor
- 189 Accessing base UDT's private destructor
- 190 Illegal non-static member access
- 191 Member cannot be static
- 192 Member isn't static
- 193 Only static members can be accessed from static functions
- 194 The PRIVATE and PUBLIC attributes are not allowed with REDIM, COMMON or EXTERN
- 195 The function prototype wasn't declared as STATIC
- 196 The function prototype wasn't declared as CONST
- 197 This operator cannot be STATIC
- 198 Parameter must be an integer
- 199 Parameter must be a pointer
- 200 Expected initializer
- 201 Fields cannot be named as keywords in TYPE's that contain member functions or in CLASS'es
- 202 Illegal outside a FOR compound statement
- 203 Illegal outside a DO compound statement
- 204 Illegal outside a WHILE compound statement
- 205 Illegal outside a SELECT compound statement
- 206 Expected 'FOR'
- 207 Expected 'DO'
- 208 Expected 'WHILE'
- 209 Expected 'SELECT'
- 210 No outer FOR compound statement found
- 211 No outer DO compound statement found
- 212 No outer WHILE compound statement found
- 213 No outer SELECT compound statement found
- 214 Expected 'CONSTRUCTOR', 'DESTRUCTOR', 'DO', 'FOR', 'FUNCTION', 'OPERATOR', 'PROPERTY', 'SELECT', 'SUB' or 'WHILE'
- 215 Expected 'DO', 'FOR' or 'WHILE'
- 216 Illegal outside a SUB block
- 217 Illegal outside a FUNCTION block
- 218 Ambiguous symbol access, explicit scope resolution required
- 219 An ENUM, TYPE or UNION cannot be empty
- 220 ENUM's declared inside EXTERN .. END EXTERN blocks don't open new scopes
- 221 Only member functions can be static
- 222 Only member functions can be const
- 223 Invalid initializer
- 224 Objects with default [con|de]structors or methods are only allowed in the module level
- 225 Symbol not a CLASS, ENUM, TYPE or UNION type
- 226 Too many elements
- 227 Only data members supported
- 228 UNIONs are not allowed
- 229 Arrays are not allowed
- 230 COMMON variables cannot be object instances of CLASS/TYPE's with cons/destructors
- 231 Cloning operators (LET, Copy constructors) can't take a byval arg of the parent's type
- 232 Local symbols can't be referenced
- 233 Expected 'PTR' or 'POINTER'
- 234 Too many levels of pointer indirection
- 235 Dynamic arrays can't be const
- 236 Const UDT cannot invoke non-const method
- 237 Elements must be empty for strings and arrays
- 238 GOSUB disabled, use 'OPTION GOSUB' to enable
- 239 Invalid -lang
- 240 Can't use ANY as initializer in array with ellipsis bound
- 241 Must have initializer with array with ellipsis bound
- 242 Can't use ... as lower bound
- 243 FOR/NEXT variable name mismatch
- 244 Selected option requires an SSE FPU mode
- 245 Expected relational operator ( =, >, <, <>, <=, >= )
- 246 Unsupported statement in -gen gcc mode
- 247 Too many labels
- 248 Unsupported function
- 249 Expected sub
- 250 Expected '#ENDIF'
- 251 Resource file given for target system that does not support them
- 252 -o <file> option without corresponding input file
- 253 TYPE can only extend other TYPE symbols
- 254 Illegal outside a CLASS, TYPE or UNION method
- 255 CLASS, TYPE or UNION not derived
- 256 CLASS, TYPE or UNION has no constructor
- 257 Symbol type has no Run-Time Type Info (RTTI)
- 258 Types have no hierarchical relation
- 259 Expected a CLASS, TYPE or UNION symbol type
- 260 Casting derived UDT pointer from incompatible pointer type
- 261 Casting derived UDT pointer from unrelated UDT pointer type
- 262 Casting derived UDT pointer to incompatible pointer type
- 263 Casting derived UDT pointer to unrelated UDT pointer type

Third party programs errors
These errors occur after the source has been compiled into assembler, they come from the auxiliary programs FB requires to compile a source into an executable: the linker, the assembler and (for Windows programs) the resource compiler.
If an IDE or a make utility are been used, additional errors can arise. These errors are outside the scope of this help.