Home > Language Reference > Error Messages
Compiler Errors
This section describes the different errors that can be reported by HB++ when a project is compiled.
| Number | Description |
| 2045 | control 'name' : type mismatch |
| 2046 | control 'name' : array/not array mismatch |
| 2047 | control 'name' : invalid array index |
| 2085 | syntax error in preprocessor statement |
| 2086 | '#Else' statement without matching '#If' |
| 2087 | '#ElseIf' statement without matching '#If" |
| 2088 | '#End If' statement without matching '#If' |
| 2089 | misplaced '#ElseIf' statement |
| 2090 | '#End If' statement expected |
| 2091 | preprocessor constant 'const' is already defined |
| 2092 | type mismatch in preprocessor expression |
| 2093 | too many nested '#If ... #Else ... #End If' statements |
| 2099 | 'message' |
| 2100 | maximum number of code segments reached |
| 2101 | maximum number of enumerations reached |
| 2102 | maximum number of classes reached |
| 2103 | type 'type' is already defined |
| 2104 | type 'type' is not defined |
| 2105 | type 'type' is not a valid base class for 'class' |
| 2106 | class 'class1' cannot extend class 'class2' because of a circular reference |
| 2107 | class 'class1' cannot be cloneable since its base class 'class2' is not |
| 2108 | class 'class' cannot be cloneable since member 'member' is not |
| 2109 | type 'type' is not an instantiable class |
| 2110 | class 'class' is not extendable |
| 2111 | type 'type' is not cloneable |
| 2112 | type 'type' has no member |
| 2113 | cannot convert 'type1' to 'type2' |
| 2114 | cannot convert parameter 'param' in call to 'function' from 'type1' to 'type2' |
| 2115 | conditional expression doesn't evaluate to a boolean value |
| 2116 | type 'type' is not iterable |
| 2119 | class 'class' doesn't extend class 'Form' |
| 2120 | the 'Friend' statement cannot be used in modules |
| 2121 | cannot be friend of 'type' |
| 2122 | invalid type 'name' |
| 2200 | identifier 'id' is already defined |
| 2201 | identifier 'id' is not defined |
| 2202 | identifier 'id' is not an acceptable l-value |
| 2203 | identifier 'id' is not an acceptable r-value |
| 2204 | property 'property' is read-only |
| 2205 | property 'property' is write-only |
| 2206 | illegal use of property 'property' |
| 2207 | cannot access private member 'member' in 'class' |
| 2208 | 'class' has no member named 'member' |
| 2209 | identifier 'id' doesn't refer to a procedure or a function |
| 2210 | identifier 'id' doesn't refer to an array |
| 2211 | illegal use of constant or static member '%s' |
| 2212 | illegal static constructor, destructor or event handler |
| 2213 | illegal use of non-static member 'name' |
| 2250 | parameter 'name' of type 'type' cannot be optional |
| 2251 | property sub should accept at least one parameter |
| 2252 | parameter 'num' in call to 'name' is not optional |
| 2253 | unexpected parameter list for identifier 'id' |
| 2254 | invalid or ambiguous call to 'function' |
| 2270 | label 'name' is not defined |
| 2271 | cannot jump into an instruction block |
| 2272 | misplaced 'Exit' statement |
| 2273 | misplaced 'Else' statement |
| 2274 | procedure 'name' doesn't take 'num' parameters |
| 2275 | 'id' is not a valid loop variable |
| 2276 | 'next id' expected |
| 2277 | increment is null |
| 2278 | 'Set' statement expected |
| 2279 | 'Let' statement expected |
| 2280 | cannot use Variant data type with Select Case statement |
| 2281 | mixed 'Try...Catch...' and 'On Error Goto' statements |
| 2290 | floating point underflow |
| 2291 | floating point overflow |
| 2292 | integer overflow |
| 2293 | division by zero |
| 2294 | floating point invalid operation |
| 2295 | invalid integer operation |
| 2296 | invalid parameter in call to 'function' |
| 2300 | cannot apply operator 'op' to type 'type' |
| 2301 | cannot apply operator 'op' to types 'type1', 'type2' |
| 2302 | cannot create range with types 'type1', 'type2' |
| 2303 | cannot declare constant of type 'type' |
| 2304 | cannot convert constant 'value' to type 'type' |
| 2305 | expression is not constant |
| 2350 | event 'name' doesn't take 'num' parameters |
| 2351 | handler doesn't match any event |
| 2352 | event 'name' is not defined |
| 2354 | events should be defined in classes |
| 2355 | events cannot accept optional parameter |
| 2356 | cannot access private event 'event' in class 'class' |
| 2357 | handler declaration doesn't match event declaration |
| 2358 | an handler already exists for event 'name' (see line nn) |
| 2400 | missing subscript |
| 2401 | too many subscripts |
| 2402 | array dimension not constant |
| 2403 | upper bound is lower than lower bound |
| 2404 | illegal use of type 'type' in a subscript |
| 2405 | illegal optional value with an array |
| 2450 | parameter 'name' cannot be declared optional |
| 2451 | parameter 'name' refer to an object, use Property Set |
| 2452 | parameter 'name' doesn't refer to an object, use Property Let |
| 2454 | property 'name' doesn't take 'num' parameters |
| 2500 | cannot declare an external property |
| 2501 | cannot declare an external procedure in a class or form module |
| 2502 | cannot pass parameter of type 'type' to an external procedure |
| 2503 | invalid trap number or name |
| 2504 | cannot return type 'type' from an external procedure |
| 2510 | sort callback should be declared as 'Function name(ByRef item1 as 'type', ByRef item2 as 'type') as Integer' |
| 2511 | callbacks cannot be declared in class modules |
| 2512 | cannot sort type 'type' |
| 2513 | callbacks cannot return values of type 'type' |
| 2514 | callbacks cannot accept parameters of type 'type' |
| 2900 | too many global variables |
| 2901 | too many member variables |
| 2902 | too many function parameters |
| 2903 | too many local variables |
| 2904 | too many events |
| 3000 | assembler : jump to 'label' is out of range |
| 3001 | assembler : unknown instruction 'instr' |
| 3002 | assembler : illegal instruction format for instruction 'instr' |
| 3003 | assembler : address is out of range |
| 4000 | linker : invalid runtime library |
| 4001 | linker : no startup code |
| 4002 | linker : debugger entry point not found |
| 4003 | linker : unresolved external 'symbol' |
| 4004 | linker : duplicated symbol 'symbol' |
| 4005 | linker : unknown segment 'segment' |
| 4006 | linker : invalid relocation 'num' in 'file' segment 'segment' |
| 4007 | linker : jump to 'label' from file 'file' exceeds 32 Kb |
| 4008 | linker : data segment exceeds 32 Kb |
| 4009 | linker : code segment 'segment' exceeds 64 Kb |
| 4010 | linker : exception or handler records segment exceeds 64 Kb |
| 4011 | linker : data segment compression failed |
| 4012 | linker : duplicated 'type id' resource |
| 4013 | linker : invalid binary resource size |
| 4014 | linker : image family 'name' exceeds 64 Kb |
| 4015 | linker : string list 'name' exceeds 64 Kb |
| 4016 | linker : resource 'name id' is missing in overlay 'locale' |