Explanation of C language error messages

Source: Internet
Author: User

[Reference the help document of smart appliance control technology. Here we have a very html version, which is very useful for querying, but it cannot be downloaded to CHM version. It cannot be used locally .]

1. # operator not followed by macro argument name
"#" No macro variable name after the operator. In macro definition, "#" is used to indicate that a macro variable is a string. Therefore, a macro variable name must be followed after.
2. 'xxxxxxxx' not an argument
'Xxxxxxxx' is not a function parameter. This table identifier is defined as a function in the original program, but it does not appear in the function table.
3. Ambiguous symbol 'xxxxxxxx'
'Xxxxxxxxxx '. If two or more domain names have the same structure, but they have different data transfer and types, when this domain name is used in a variable or expression but does not contain a structure name ,, this will produce ambiguity. In this case, you need to modify the domain name or add the structure name to the reference.
4. Argument # missing name
Parameter # name missing. The parameter name is out of the function prototype used to define the function. C language requires that if a function is defined as a prototype, it must contain all function names.
5. argument list Error
The parameter table syntax is incorrect. The C language specifies that the parameters of a function call must be separated by commas (,) and end with parentheses. If the source file contains a parameter that is not followed by a comma or a right brace, this error occurs.
6. Array Bounds missing
The array delimiter "]" is missing. An array is defined in the source file, but this array does not end with square brackets. This error occurs.
7. arraysize too large
The array length is too long. The defined array is too long and the available memory is insufficient.
8. extends er statement too long
The Assembly statement is too long. According to the C language, the length of an internal Assembly statement cannot exceed 480 bytes.
9. Bad configuration file
The configuration file is incorrect. The turboc. cfg configuration file contains non-comments that are not appropriate for the command line selection. The C language specifies that the configuration file command selection item must start with a hyphen.
10. Bad file name formart in include Directive
The file name format in the include command is incorrect. The file name must be enclosed in double quotation marks or angle brackets. Otherwise, this error occurs. If macros are used, the generated Extended text is also incorrect.
11. Bad ifndef directive syntax
The ifdef command syntax is incorrect. # Ifdef must use a single identifier as the instruction body.
12. Bad ifndef directive syntax
The ifndef command syntax is incorrect. # Ifndef must use a single identifier as the instruction body.
13. Bad UNDEF directive syntax
UNDEF command syntax error. # UNDEF must use a single identifier as the instruction body.
14. Bad file size syntax
The length of the bit field is incorrect. A single-digit field must be 1-16 constant expressions.
15. Call of non-function
Call undefined functions. The function being called is not defined. It is usually caused by incorrect function declaration or spelling of the function name.
16. Cannot modify a const object
A constant object cannot be modified. This error occurs when an invalid operation is performed on an object defined as a constant (for example, assigning a value to a constant.
17. Case outside of Switch
Case appears outside the switch. The Compiling Program finds that the case statement is outside the switch, which is usually caused by the mismatch of parentheses.
18. Case statement missing
Case statement is missing. The case statement must contain a constant expression ending with a colon. The possible cause is that a colon is lost or another symbol is added before the colon.
19. Cast syntax error
Cast syntax error. The cast may contain incorrect symbols.
20. character constant too long
The character constant is too long.
21. Compound statement missing
Compound statement missing. When the compiler scans the end Of the source file, the ending braces are usually caused by mismatched braces.
22. Conflicting type Modifiers
Type modifier conflict. Only one address modifier (such as near or far) can be defined for the same pointer, and only one language modifier (such as cdecl, Pascal, or interrupt) can be provided for the same function)
23. constant expression repuried
Constant expressions are required. The array size must be a constant. This error is usually caused by the spelling error of # define constant.
24. cocould not find file 'xxxxxxxx'
The file 'xxxxxxxxxx' is not found '. The compiled program cannot find the file provided on the command line.
25. declaration Missing
The description misses ";". The source file contains a struct or union field declaration, but the semicolon (;) is missing (;).
26. Declaration needs type or storage class
Description: The type or storage class must be provided. I, J;
27. Declaration syntax error
It indicates a syntax error. In the source file, some symbols or redundant symbols are lost.
28. Default outside of Switch
Defaul appears outside the switch. This error is usually caused by mismatched parentheses.
29. Define directive needs an identifer
The define command must have an identifier. # The first non-space symbol after define must be an identifier. If other characters are found in the Compilation Program, this error occurs.
30. Division by zero
The divisor is zero. In the expression in the source file, the divisor is zero.
31. Do statement must have while
The DO statement must contain the while
32. Do-while statement missing (,),;
The do-while statement misses "(,),;"
33. Duplicate case
Case is not unique. Each case in a switch statement must have a unique constant expression.
34. Enum synatx Error
The enum domain method has an error. The format of the table marked by Enum is incorrect.
35. Enumeration constant syntax error
The syntax of enumeration constants is incorrect. The expression value assigned to an Enum type variable is not a constant.
36. Error directive: xxxx
Error command: XXXX. When the source file is processed # When the error command is executed, the information provided by this command is displayed.
37. Error writting output file
An error occurred while writing the output file. This is usually caused by insufficient disk space.
38. Expression stntax
Expression syntax error. For example, two operators appear consecutively in the expression, the parentheses do not match or the parentheses are missing, and the semicolon is missing in the previous statement.
39. Extra parameter in call
Extra parameters appear during the call. When calling a function, the actual number of parameters is greater than the number of parameters defined in the function.
40. Extea parameter in CALL TO XXXXXXXX
When the "xxxxxx" function is called, additional parameters are displayed. The function is defined by the prototype.
41. File Name Too Long
The file name is too long. # The file name provided by the include command is too long to be processed by the compiler. The file name under the doc cannot exceed 64 characters.
42. For statement missing ();
The for statement misses "();".
43. function call Missing)
")" Is missing for function calls.
44. Function Definition out of place
The Function Definition location is incorrect. Function definitions cannot be defined in another function. Any description in a function is considered as a function definition as long as it starts with a function similar to a function with a parameter table.
45. Function doesn' t take a vatiable Number of argument
The number of variable parameters is not accepted by the function. A function in the source file uses the va-start macro. This function cannot accept variable parameters.
46. GOTO statement missing lable
The GOTO statement lacks a label. You must have an identifier after the goto keyword.
47. If statement misslng ()
If statement missing "()"
48. Illegal character (0xxx)
Invalid string (0xxx ). The Compilation Program finds that the input file contains invalid characters, which have been printed in hexadecimal notation.
49. Illegal initialation
Invalid initialization. The initialization must be the constant expression after the global variable extern or static address minus a constant.
50. Illegal octal Digit
Invalid eight-digit number. The compiler finds that a constant in octal contains non-octal numeric symbols (such as 8 or 9 ).
51. Illegal pointer Subtraction
Invalid Pointer subtraction. This is caused by an attempt to subtract a pointer variable from a pointer variable.
52. Illegal Structre operation
Invalid structure operation. The structure can only use ".", "&", and the value assignment operator "=", or be passed as a function parameter. This error occurs when the compiler finds that the structure uses other operators.
53. Illegal use of Floating Point
Invalid floating point operation. Float operations cannot appear in shifts, logical bitwise operations, or conditions (? :), Indirect (*), and other operators.
54. Illegal use of Point
The pointer is invalid. Pointers can only be used in addition, subtraction, assignment, comparison, indirect (*), or tip (->) operations.
55. Improper use of a typedef symbol
The typedef symbol is improperly used. The source file uses a symbol, which should appear in an expression. Check the description of the symbol and possible spelling errors.
56. In-line assembly not allowed
Internal Assembly statements are not allowed. The source file contains directly inserted Assembly statements. If compilation is performed in the integration environment, this error occurs. You must use the TCC command line to compile the file.
57. Incompatible Storage Class
Incompatible storage class. A function definition of the source file uses the extern keyword, and only static (or no storage type) is allowed.
58. Incompatible type conversion
Incompatible type conversion. The source file tries to convert one type to another, but these two types are incompatible, for example, conversion between a function and a non-function, conversion between a structure or array and a standard type, and conversion between a floating point and a pointer.
59. Incorrect command line argunent: XXXXX
Incorrect command parameter: XXXXXXXX
60. Incorrect cinfiguration file argunent: XXXXX
Incorrect file parameter: xxxxxx. The compiler considers the configuration file illegal. In this case, check the front dash (_).
61. Incorrect Number Format
Incorrect data format. The compiler finds that the hexadecimal decimal point appears in the hexadecimal number.
62. incorrect use of default
Incorrect use of default. A semicolon is missing after the default keyword is found in the Compilation Program.
63. initializer syntax error
Initialization syntax error. One or more operators are missing during initialization, And the parentheses do not match, or some other exceptions may occur.
64. Invalid indrection
Invalid indirect operation. Indirect operators (*) require non-null pointers as operation components
65. Invalid macro argument Separator
Invalid macro parameter separator. In macro definition, parameters must be separated by commas. The compiler finds that there are other invalid characters after the parameter name.
66. Invalid Pointer sddition
Invalid Pointer addition. The original program tries to add the two pointers.
67. Invalid use of Arrow
Incorrect arrow. The arrow operator (->) must be followed by an identifier
68. Invalid use of dot
Point usage error. The store operator (.) must be followed by an identifier
69. lvalue required
Request value assignment. The left side of the value assignment operation must be an address expression, including numeric variables, pointer variables, structure reference fields, indirect pointers, or array components.
70. Macro argument syntax error
Macro parameter syntax error. The parameter in the macro definition must be an identifier. If the required parameter is not an identifier character, this error occurs.
71. mxcro expansion too long
Macro expansion is too long. A macro extension cannot exceed 4096 characters. This error often occurs when macros expand themselves recursively. Macros cannot expand themselves.
72. may compile only one file when an output file name is given
When an output file name is given, only one file may be compiled. If-O is used for command compilation, an output file name is required. At this time, only the first file is compiled, and other files are ignored.
73. mismatch number of parameters in Definition
The number of parameters in the definition does not match. The parameters in the definition do not match the information provided in the function prototype.
74. Misplaced bresk
The break location is incorrect. The compiler finds that the switch statement or the loop structure of the break statement is not
75. Misplaced continue
The continue position is incorrect. Compile the statement to promote the discovery of the continue statement outside the Loop Structure
76. misplsced decimal point
The decimal point is incorrect. The compiler finds that the exponent part of the floating point constant has a decimal point.
77. misplace else
The else location is incorrect. The Compilation Program finds that the else statement lacks the if statement that matches it. This error may be caused by more else errors, redundant semicolons, missing braces, or a syntax error in the preceding if statement.
78. Misplaced Elif divective
The Elif location is incorrect. No matching # Elif, # ifdef, or # ifndef commands are found in the Compilation Program.
79. Misplaced else Directive
The else location is incorrect. No matching # If, # ifdef, or # ifndef commands are found in the Compilation Program.
80. Misplaced enlif divective
The endif position is incorrect. No matching # If, # IFEF, or # ifndef commands are found in the compiled program.
81. Must be addressable
It must be editable. The "&" operator acts on an addressing object, such as a register variable.
82. Must take address of memory location
It must be a memory address. The address operator is used for unaddressable expressions in the source file.
83. No file name ending
No file name Terminator. In the # include statement, the file name lacks correct closed quotation marks (") or parentheses (> ).
84. No file names given
No file name is provided. The turbo command compilation (TCC) does not contain any files.
85. Non-portable pointer assihnment xsw
Assign values to non-portable pointers. The original program assigns a pointer to a non-pointer, or vice versa. However, as a special case, null values of constants can be assigned to a pointer. In this case, this error message can be forcibly suppressed.
86. Non-portable pointer comparison
Comparison of Non-portable pointers. Compare a pointer with a non-pointer (except constant zero) in the source program. However, if appropriate, this error message should be forcibly restrained.
87. Non-portable return type conversion
Non-portable return type conversion. The expression type in the return statement is different from that in the function description. However, if the expression returned by the function is a pointer, the function can be converted. At this time, the function that returns the pointer may return a constant zero, and the zero is converted into an appropriate pointer value.
88. Not an allowed type
The type that is not allowed. In the source file, several types that are not allowed are described. For example, a function returns a function or an array.
89. Out of memory
Insufficient memory.
90. pointer required o left side
The left side of the operator must be a pointer.
91. redeclaration of 'xxxxxxx'
"Xxxxxxx" is redefined.
92. Size of structure or array not known
The size of the structure or number is not fixed. Some Expressions (such as sizeof or storage description) contain a defined structure or an empty length array. If the structure length is not required, it can be referenced before the definition; if the array does not apply for a bucket or the initialization is given a length. It can be defined as a null length.
93. statement missing
The statement is missing ":".
94. structure or union symtax Error
Structure or union syntax error. The Compilation Program finds that there is no identifier or braces behind the struct or union keyword.
95. stucture size too large
The structure is too large. The structure stated in the source file requires too many memory fields and the memory space is insufficient.
96. subscripting missing]
The subscript is missing "]". It may be caused by leakage or multi-write operators or mismatched parentheses.
97. subscripting missing ()
"()" Is missing in the switch statement.
98. Too few paramenters in call
There are too few function call parameters. There are too few parameters for a function call with a prototype (using a function pointer. All parameters are required for the prototype.
99. Too few paramenters in call to 'xxxxxxxxx'
There are too few parameters to call "xxxxxx. When a specified function is called (the number of rows is declared in a prototype), too few parameters are provided.
100. Too processing cases
There are too many cases. A switch statement can contain a maximum of 257 cases.
101. Too partition decimal points
Too many decimal digits are charged.
102. Too defaults default cases
Too many defaults. The switch statement can have only one default value.
103. Too Mandy wxponents
There are too many order codes.
104. Too initialize initializers
Too many initialization tasks.
105. Too dedicated storage classes in Declaration
The storage is too tired. Only one storage class is allowed.
106. Too polictypes in Declaration
The description contains too many types. A description only supports the following basic types: Char, Int, float, double, struct, union, Enum, and typedef.
107. Too much auto memory in Function
Too many functions are automatically stored. The Automatic Storage of the current function declaration exceeds the available storage space.
108. Too much Code define in file
There are too many code defined in the file. The total length of the function in the current file exceeds 64 KB. You can remove unnecessary code or write down the source files separately.
109. Too much global data define in file
The total number of global declarations defined in the file exceeds 64 KB. Check whether some array definitions are too long. If the description is necessary
Re-organize the program.
110. Two consecutive dots
Two consecutive points. Because the ellipsis contains three dots (...), but the decimal point and the selection operator are not allowed to use an electric (.), so two consecutive points are not allowed in the C program.
111. Type mismatch in parameter #
"#" Parameter type does not match. When a pointer is used to access parameters described by the prototype, the given parameter # N (from left to right n plus 1 one by one) cannot be converted to the specified parameter type.
112. Type mismatch in parameter # In call to 'xxxxxxx'
The parameter "xxxxxx" is called # The type does not match. The specified parameters are described in a prototype in the source file, and the specified parameters (from left to right n plus 1 one by one) cannot be converted to the specified parameter type.
113. Type mismatch in parameter 'xxxxxx'
The parameter "yyyyyy" type does not match. In the source file, a prototype indicates a function that can be called by a function pointer, and the specified parameter cannot be converted to another specified parameter type.
114. Type mismatch in parameter 'xxxxxxx' in call to 'yyyyyy'
When "xxxxxx" is called, the parameter "xxxxxx" type does not match. The source file uses a prototype to describe the specified parameters. The specified parameter cannot be converted to another specified parameter type.
115. Type mismatch in redeclaration of 'xxx'
The redefinition type does not match. In the source file, describe a specified variable as another variable. If a function is called and then described as a non-integer, this error is also generated. In this case, you must add the extern description to the function before calling the function for the first time.
116. Unable to create output file 'xxxxxxxx'
The output file "XXXXXXXX. XXX" cannot be created ". This error occurs when the working floppy disk is concealed or has write protection.
117. Unable to create turboc. lnk
You cannot create turboc. lnk. The Compiling Program cannot create a temporary file turboc. $ ln because it cannot access the disk or the disk is stolen.
118. Unable to execute command 'xxxxxxxx'
The "xxxxxx" command cannot be executed. Tlink or MASM not found, or disk error.
119. Unable to open include file 'xxxxxxxx. XXX'
You cannot open the file "xxxxxx. XXX ". The inclusion file cannot be found in the Compilation Program. It may be caused by a # include file containing itself, or config. sys does not set the number of files that can be opened simultaneously (add file = 2 ).
120. Unable to open inputfile 'xxxxxxx. XXX'
The input file "xxxxxx. XXX" cannot be opened ". This error occurs when the compilation program cannot find the source file. Check whether the file name is spelled incorrectly or whether the file exists in the corresponding disk directory.
121. undefied label 'xxxxxx'
"Xxxxxx" is not defined. The label after the GOTO statement is not defined in the function.
122. undefied structure 'xxxxxx'
The structure "xxxxxx" is not defined. An unspecified structure is used in the source file. It may be caused by incorrect spelling of the structure name or lack of structure description.
123. undefied symbol 'xxxxxx'
The symbol "xxxxxx" is not defined. The identifier is not defined. It may be due to a spelling error in the description or reference, or an error in the description of the identifier.
124. unwxpected end of file in comment started on line #
The source file unexpectedly ends in a comment .. It is usually caused by missing comment end mark.
125. undefied end of file in conditional stated on line #
The source file ends unexpectedly in the Condition Statement starting with line. The source program ends before # endif is compiled, usually because # endif is missed or misspelled.
126. Unknown Preprocessor directire 'xxx'
Unknown preprocessing command: XXX. The compile program encounters the "#" character at the beginning, but the subsequent command name is not one of the following: Define, UNDEF, line, ifdef, ifndef, include, else or endif.
127. unteminated character constant
Is the ending character constant. A mismatched escape character is found during compilation.
128. unteminated string
The end string. An unmatched quotation mark is found during compilation.
129. unteminated string or character constant
Is the ending string or character constant. The Compilation Program finds that the string or character constant does not end after it starts.
130. User break
The user is interrupted. during compilation or connection in the integration environment, the user presses the CTRL + Break Key.
131. While statement missing ()
While statement missing ()
132. Wrong number of argument in 'xxxxxx'
The number of parameters is incorrect when "xxxxxx" is called. When a macro is called in the source file, the number of parameters is incorrect.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.