^ERRORS^
 
When an error is found whilst running a program, a window 
opens with a description of the error that has occurred. 
Finally the cursor is positioned at the precise place that the 
error was found. However sometimes the actual cause of the 
error may be elsewhere (e.g. omiting a declaration).
 
       Error no 0 Program execution stopped
                The program has been interrupted. The user has pressed 
                two of the Control, Shift or Alt keys. Alternatively a 
                stop, exit or abort statement has been encountered.
 
       Error no 1 Syntax error
                HiSoft C does distinguish between some little syntax 
                mistakes. This error doesn't appear as frequently as with 
                some BASICs!
       Error no 2 Missing ;
                A semi-colon was expected at the end of a declaration or 
                statement.
 
       Error no 3 Missing parenthesis
                A parenthesis has been opened but not closed or vice versa.
 
       Error no 4 Out of memory
                You've run out of memory. Well done! Seriously though, try 
                removing Desk accessories, ramdisks or other memory 
                resident programs.
 
       Error no 5 Missing integer
                HiSoft C was expecting to find an integer, perhaps, as an 
                array index. Empty array indices are only allowed in 
                function parameter declarations.
 
       Error no 6 Too many dimensions
                The maximum number of dimensions in an array and the 
                maximum number of indirections off a pointer is 16. 
 
       Error no 7 Duplicate declaration
                A global variable has been declared twice. This is strictly 
                illegal. Neither may you have two structure field identifiers 
                with the same name.
 
       Error no 8 Undefined structure name
                A reference has been made to a structure that has not been 
                defined. Please define it.
       
       Error no 9 Missing structure name
                HiSoft C has expected to find the name of a structure but it 
                has found something else.
 
       Error no 10 Empty structure
                Either there are no elements declared in the structure or the 
                structure name is used with indirection.
 
       Error no 11 Missing identifier
                HiSoft C expected to find a variable identifier. This error can 
                occur if you omit the parameters in a function definition.
 
       Error no 12 Duplicate declaration of local variable. 
                A local variable is declared twice within the same function.
 
       Error no 13 Bad type for a function argument
                Function arguments may not be of type function, union or 
                structure.
                If you need to pass a union or function as a parameter, pass 
                pointers to them.
 
       Error no 14 Name mismatch in the parameter list 
                The function argument list and the declarations of those  
                arguments disagree.
 
       Error no 15 Too many local variables
                The maximum number of local variables in a function   
                (together with parameters) is 40. This error is probably due 
                to very bad programming style; split your function up.
 
       Error no 17 Parameter not declared
                A parameter is present in the argument list but there is no 
                declaration for it.
 
       Error no 18 Missing }
                A block has been opened using { but not closed with }. Use 
                the Home key (See the Cursor key item on the Help menu).
 
       Error no 19 Undefined label
                There is a reference to a variable that has not been declared. 
                Perhaps it has been mistyped.
 
       Error no 20 Illegal function declaration
                There is an error in the declaration section of a function, or 
                the entire body (the statements) has been omitted.
 
       Error no 21 Variable type error
                The type specified is illegal. For example there is no such 
                thing as an unsigned struct.
 
       Error no 22 No reference to local label
                A local variable has been declared but is not used.
 
       Error no 23 Missing main function
                The function main has been left out. Every program must 
                have a function main so that execution can start.
 
       Error no 24 Keyword found in an expression
                A language keyword has been found in an expression.
 
       Error no 25 "lvalue" required
                An 'lvalue' is a value that you can assign to, i.e. can appear
                on the left of an = sign. Your can have a=1; because a is an 
                lvalue. But 1=5 is illegal because 1 is not an lvalue.
                So this error occurs when the left hand side of an 
                assignment statement is illegal.
                It will also happen when using & the 'address of' operator. 
                The argument to this must be an lvalue. Note that the name 
                of an array is not an lvalue.
 
       Error no 26 Pointer assigned to an integer
                HiSoft C forbids assigning pointers to integers without 
                using a cast.
 
       Error no 27 Integer assigned to a pointer
                HiSoft C forbids assigning integers to pointers without 
                using a cast.
 
       Error no 28 Pointer type mismatch, operator '=' 
                You cannot assign a pointer value to another one, unless 
                they point to the same type, without using a cast.
 
       Error no 29 Illegal operator for pointer arguments
                For example, pointers can not be multiplied together. 
 
       Error no 30 Division by zero
                An attempt to divide by 0 has been made. Often this will be 
                caused by a variable that has been assigned an 
                inappropriate value.
 
       Error no 31 Integer used with operator "*"
                The indirection operator * must be followed by a pointer or 
                array.
 
       Error no 32 Pointer used instead of an integer
                A pointer, rather than an integer has been used to index an  
                array.
 
       Error no 33 Incorrect pointer value
                The interpreter has spotted the use of an un-initialised 
                pointer, and rather than crashing the machine gives you 
                this error message.
 
       Error no 34 DO without WHILE
                A DO statement has been found, but there is no 
                corresponding WHILE. Perhaps some curly brackets have 
                been added or left out.
 
       Error no 35 ELSE without IF
                An ELSE statement has been found, but there is no 
                corresponding WHILE. Perhaps some curly brackets have 
                been added or left out.
 
       Error no 36 CASE without SWITCH
                A CASE statement has been found, but there is no 
                corresponding SWITCH. Perhaps some curly brackets have 
                been added or left out.
 
       Error no 37 DEFAULT without SWITCH
                A DEFAULT statement has been found, but there is no 
                corresponding SWITCH. Perhaps some curly brackets have 
                been added or left out.
 
       Error no 38 Missing : in a CASE instruction
                The correct syntax of a CASE statement is:
                ^case [expression] :^
                However the colon has not been found.
 
       Error no 39 Missing CASE in a SWITCH instruction 
                Immediately after a SWITCH statement there must be either 
                a CASE (or DEFAULT) statement, but there is something else 
                instead.
 
       Error no 40 Missing { in a SWITCH instruction
                Immediately after a SWITCH statement there should be a 
                curly bracket. For example:
                        ^switch (a)       ^
                        ^{                ^
                        ^case 1: /* etc */^
 
       Error no 41 Missing parameters in function call 
                A HiSoft C library call has been made and there aren't 
                enough parameters. Alternatively you may have got the 
                function name wrong. The Help command can be used to 
                check the number of parameters.
 
       Error no 42 Missing , in a function call
                Each parameter should be separated by a comma. A 
                character that is neither a , nor a ) has been found after a 
                parameter.
 
       Error no 43 Unknown operator
                Error in an operator. Or perhaps you have used a unary 
                operator as a binary one or vice versa. e.g. ++, --, ! and ~
                can only be unary operators. Thus i++ is legal but i++j is not.
 
       Error no 44 Too many parameters in a function call
                A HiSoft C library call has been made and there are too  
                many parameters. Alternatively you may have got the 
                function name wrong. The Help command can be used to 
                check the number of parameters.
 
       Error no 45 Floating point value used with SWITCH
                Only integer or pointer values can be used in SWITCH  
                statements, not floating point ones.
 
       Error no 46 Bad type for a function name
                An attempt to pass an entire structure to a function has 
                been made. Only pointers to structures may be passed.
 
       Error no 47 Bad function pointer usage
                An attempt has been made to use a pointer to a function as a 
                function. For example,
                        ^char (*fct[5])() /* declare an array of pointers */^
                To access an element in the fct array the following could
                be used:
                        ^fct[3]()  /* call function */ ^
                        
       Error no 48 Stack full
                There have been too many recursive function calls and the 
                stack has overflowed. This is almost certainly because of a 
                programming error. For example,
                        ^function()      ^
                        ^{               ^
                        ^  i = 5;        ^
                        ^  if (i > 2)    ^
                        ^     function();^
                        ^}               ^
 
       Error no 49 Bad usage for BREAK or CONTINUE 
                BREAK and CONTINUE statements may be used inside 
                WHILE, DO or FOR loops to change the order of execution. 
                BREAK statements may also be used in SWITCH statements. 
                All other uses of these statements are illegal.
 
       Error no 50 Bad value for shift number
                The second argument of << and >> (the shift operators) 
                must not be negative.
 
       Error no 51 Integer value required with this operator 
                The logical operators (up arrow, ~, |, &) and modulo (%)
                can only be used with integers, not floating point numbers. 
 
       Error no 52 Floating point parameter expected 
                A library function needing a floating point number has been 
                passed an integer instead.
 
       Error no 53 Structure identifier expected
                Only structure variables may be used before the "." and "->"
                operators.
 
       Error no 54 Structure item expected
                A field structure name must be used after the "." and "->" 
                operators.
 
       Error no 55 You can't use this operator on a structure type 
                Using "." on a pointer to a structure or using "->" on a 
                structure variable.
 
       Error no 56 Forbidden usage made on structure type 
                This operator may not be used on a structure variable. & to 
                find the address may be used and members may be 
                accessed using ".". Apart from this all others are forbidden.
 
       Error no 57 Forbidden character
                An illegal character not recognised by the language, has 
                been found outside a string or comment, for example a 
                control character or character greater than 127.
 
       Error no 58 Missing '(' after a library function name 
                This message is also given if you try to calculate the address 
                of a library function.
 
       Error no 59 Missing variable type
                The name of the type of a variable is expected after sizeof.
 
       Error no 60 Incorrect variable type
                An array type can not be used with sizeof or casts.
 
       Error no 61 Preprocessor keyword expected
                A preprocessor keyword is expected after a # sign.
 
       Error no 62 Missing ':' after '?'
                The only valid character after ? is the : of the ?:
                conditional operator. 
 
       Error no 63 Bad function return value
                The value in a return statement is not the same as in its 
                declaration.
 
       Error no 64 Too many items in an initialization
                Too many items have been used in an initialiser (normally 
                an array) to match the declaration.
 
       Error no 65 Macro name expected after #define 
                A non-empty macro name is required after a #define.
 
       Error no 66 Empty macro definition
                The entire body of a macro may not be empty.
 
       Error no 67 Forbidden operator in an initialization 
                Only constants may be used in initialisers. For example, you 
                can't call a function inside a macro.
 
       Error no 68 You cannot initialize aggregates
                struct type variables may not be initialised.
 
       Error no 69 File name expected after #include 
                An invalid file name has been used after #include.
 
       Error no 70 Too many include files
                No more than 8 include files may be loaded at the same time.
 
       Error no 71 You must check the "link at runtime" option to use #include 
                To use the #include facility you must first select the 'link 
                at runtime' option on the Run menu. 
 
       Error no 72 Cannot load include file
                The include file can not be loaded. It needs to be in the 
                \HEADER directory on the drive that HiSoft C was loaded 
                from if < and > have been used and in the current directory
                if quotes are used. 
 
       Error no 73 Bad type usage
                Error in a type when using sizeof or a cast.
 
       Error no 74 Bus error
                68000 exception. An attempt to access an illegal address has 
                been made, such as one of the ST's low memory variables.
 
       Error no 75 Odd Address access
                68000 exception. An attempt to indirect using an odd 
                address has been made.
 
       Error no 76 Unknown instruction
                68000 exception. An illegal 68000 instruction has been 
                encountered.
 
       Error no 77 Division by 0
                68000 exception. An attempt to divide by 0 has been made.
 
       Error no 78 CHK instruction
                68000 exception. An exception has been generated by a CHK 
                instruction.
 
       Error no 79 TRAPV instruction
                68000 exception. An exception has been caused by a TRAPV 
                instruction.
 
       Error no 80 Supervisor mode required
                68000 exception. An instruction that can only be used in 
                supervisor mode has been encountered.
 
       Error no 81 Trace mode
                68000 exception. An exception has been generated because 
                we are in trace mode.
 
       Error no 82. Cannot initialize a local complex type variable 
                Arrays and structures that are local to a function may not 
                be initialised. See Appendix B.
 
       Error no 83 Goto out of local block
                goto's may not reference a label that is not in the same C   
                block ({...}) as the goto. See Appendix B.
 
       Error no 84 Label name expected after goto 
                An item which is not an identifier has been found after a 
                goto or the identifier used is declared as a variable.
 
       Error no 85 #endif or #else without #if
                A #endif or #else directive has been found without an 
                associated #if, #ifdef or #ifndef.
 
       Error no 86 #endif expected after #if
                A #if directive has been used, but the end of the text has 
                been found without encountering a #endif.
 
       Error no 87 This label is already used in the function library 
                An attempt to re-define a variable which is already used in a 
                library function has been made.
 
^Editor Error Messages^
 
       Error no 101 Cursor is inside the block. Can't copy the block 
                You may not copy a block to a position inside that block.
 
       Error no 102 The line is too long. Maximum length is 127 chars 
                The length of lines is limited to 127 characters.
 
       Error no 103 This line number does not exist
                You have entered a non-existent line number (there aren't 
                that many lines in the file).
 
       Error no 104 No more windows!
                All the GEM windows have been used up. Close desk accessories
                or return to the Desktop. 
 
       Error no 105 You ran out of memory...
                You've used all the available space.
 
       Error no 106 The file you want to load does not exist 
                If this error occurs after the use of #INCLUDE make sure 
                that the disk containing the HEADER folder is present in the
                drive from which HiSoft C was loaded.
 
       Error no 107 Search failed: String not found
 
       Error no 108 Disk error or disk full
                Either the disk is full or the disk can't be read or written to, 
                perhaps because there is no disk in the drive.
 
       Error no 109 Comment is not closed on current line 
                A comment must only be one line long. Add a */ at the end of 
                the line.
 
       Error no 110 Error in char or int constant on current line 
                HiSoft C has found the start of a constant (octal beginning 
                with 0, hex beginning with 0x or a character beginning with 
                ') but it is incorrectly formed.
 
       Error no 111 Can't find end of string on current line 
 
                A string of characters must be closed on the same line as it 
                is opened. Perhaps there is a " missing.
 
       Error no 112 Syntax error in macro command
                The contents of a macro command, given by Shift and a 
                function key is wrong.
 
       Error no 113 I can't give you help about this keyword 
                There is no help file corresponding to this keyword.
 
       Error no 114 Error in project file line XXX
                The contents of the project file that you are trying to load
                has an error on the given line.
 
