C语言错误信息查询4
C语言错误大全
1、意思是:在 xxx 之前应输入表达式。
2、下面为C语言的错误大全及中文解释:1: Ambiguous operators need parentheses —不明确的运算需要用括号括起2: Ambiguous symbol xxx —不明确的符号3: Argument list syntax error —参数表语法错误4: Array bounds missing —丢失数组界限符5: Array size toolarge —数组尺寸太大6: Bad character in paramenters —参数中有不适当的字符7: Bad file name format in include directive —包含命令中文件名格式不正确8: Bad ifdef directive synatax —编译预处理ifdef有语法错9: Bad undef directive syntax —编译预处理undef有语法错10: Bit field too large —位字段太长11: Call of non-function —调用未定义的函数12: Call to function with no prototype —调用函数时没有函数的说明13: Cannot modify a const object —不允许修改常量对象14: Case outside of switch —漏掉了case 语句15: Case syntax error — Case 语法错误16: Code has no effect —代码不可能执行到17: Compound statement missing{ —分程序漏掉"{"18: Conflicting type modifiers —不明确的类型说明符19: Constant expression required —要求常量表达式20: Constant out of range in comparison —在比较中常量超出范围21: Conversion may lose significant digits —转换时会丢失意义的数字22: Conversion of near pointer not allowed —不允许转换近指针23: Could not find file xxx —找不到XXX文件24: Declaration missing ; —说明缺少";"25: Declaration syntax error —说明中出现语法错误26: Default outside of switch — Default 出现在switch语句之外27: Define directive needs an identifier —定义编译预处理需要标识符28: Division by zero —用零作除数29: Do statement must have while — Do-while语句中缺少while部分30: Enum syntax error —枚举类型语法错误31: Enumeration constant syntax error —枚举常数语法错误32: Error directive :xxx —错误的编译预处理命令33: Error writing output file —写输出文件错误34: Expression syntax error —表达式语法错误35: Extra parameter in call —调用时出现多余错误36: File name too long —文件名太长37: Function call missing ) —函数调用缺少右括号38: Fuction definition out of place —函数定义位置错误39: Fuction should return a value —函数必需返回一个值40: Goto statement missing label —Goto语句没有标号41: Hexadecimal or octal constant too large —16进制或8进制常数太大42: Illegal character x —非法字符x43: Illegal initialization —非法的初始化44: Illegal octal digit —非法的8进制数字 A45: Illegal pointer subtraction —非法的指针相减46: Illegal structure operation —非法的结构体操作47: Illegal use of floating point —非法的浮点运算48: Illegal use of pointer —指针使用非法49: Improper use of a typedefsymbol —类型定义符号使用不恰当50: In-line assembly not allowed —不允许使用行间汇编51: Incompatible storage class —存储类别不相容52: Incompatible type conversion —不相容的类型转换53: Incorrect number format —错误的数据格式54: Incorrect use of default — Default使用不当55: Invalid indirection —无效的间接运算56: Invalid pointer addition —指针相加无效57: Irreducible expression tree —无法执行的表达式运算58: Lvalue required —需要逻辑值0或非0值59: Macro argument syntax error —宏参数语法错误60: Macro expansion too long —宏的扩展以后太长61: Mismatched number of parameters in definition —定义中参数个数不匹配62: Misplaced break —此处不应出现break语句63: Misplaced continue —此处不应出现continue语句64: Misplaced decimal point —此处不应出现小数点65: Misplaced elif directive —不应编译预处理elif66: Misplaced else —此处不应出现else67: Misplaced else directive —此处不应出现编译预处理else68: Misplaced endif directive —此处不应出现编译预处理endif69: Must be addressable —必须是可以编址的70: Must take address of memory location —必须存储定位的地址71: No declaration for function xxx —没有函数xxx的说明72: No stack —缺少堆栈73: No type information —没有类型信息74: Non-portable pointer assignment —不可移动的指针(地址常数)赋值75: Non-portable pointer comparison —不可移动的指针(地址常数)比较76: Non-portable pointer conversion —不可移动的指针(地址常数)转换77: Not a valid expression format type —不合法的表达式格式78: Not an allowed type —不允许使用的类型79: Numeric constant too large —数值常太大80: Out of memory —内存不够用81: Parameter xxx is never used —能数xxx没有用到82: Pointer required on left side of -> —符号->的左边必须是指针83: Possible use of xxx before definition —在定义之前就使用了xxx(警告)84: Possibly incorrect assignment —赋值可能不正确85: Redeclaration of xxx —重复定义了xxx86: Redefinition of xxx is not identical — xxx的两次定义不一致87: Register allocation failure —寄存器定址失败88: Repeat count needs an lvalue —重复计数需要逻辑值89: Size of structure or array not known —结构体或数给大小不确定90: Statement missing ; —语句后缺少";"91: Structure or union syntax error —结构体或联合体语法错误92: Structure size too large —结构体尺寸太大93: Sub scripting missing ] —下标缺少右方括号94: Superfluous & with function or array —函数或数组中有多余的"&" 95: Suspicious pointer conversion —可疑的指针转换96: Symbol limit exceeded —符号超限97: Too few parameters in call —函数调用时的实参少于函数的参数不98: Too many default cases — Default太多(switch语句中一个)99: Too many error or warning messages —错误或警告信息太多100: Too many type in declaration —说明中类型太多101: Too much auto memory in function —函数用到的局部存储太多102: Too much global data defined in file —文件中全局数据太多103: Two consecutive dots —两个连续的句点104: Type mismatch in parameter xxx —参数xxx类型不匹配105: Type mismatch in redeclaration of xxx — xxx重定义的类型不匹配106: Unable to create output file xxx —无法建立输出文件xxx107: Unable to open include file xxx —无法打开被包含的文件xxx108: Unable to open input file xxx —无法打开输入文件xxx109: Undefined label xxx —没有定义的标号xxx110: Undefined structure xxx —没有定义的结构xxx111: Undefined symbol xxx —没有定义的符号xxx112: Unexpected end of file in comment started on line xxx —从xxx行开始的注解尚未结束文件不能结束113: Unexpected end of file in conditional started on line xxx —从xxx 开始的条件语句尚未结束文件不能结束114: Unknown assemble instruction —未知的汇编结构115: Unknown option —未知的操作116: Unknown preprocessor directive: xxx —不认识的预处理命令xxx117: Unreachable code —无路可达的代码118: Unterminated string or character constant —字符串缺少引号119: User break —用户强行中断了程序120: Void functions may not return a value — Void类型的函数不应有返回值121: Wrong number of arguments —调用函数的参数数目错122: xxx not an argument — xxx不是参数123: xxx not part of structure — xxx不是结构体的一部分124: xxx statement missing ( — xxx语句缺少左括号125: xxx statement missing ) — xxx语句缺少右括号126: xxx statement missing ; — xxx缺少分号127: xxx declared but never used —说明了xxx但没有使用128: xxx is assigned a value which is never used —给xxx赋了值但未用过。
C语言常见编译错误提示
C语言常见编译错误提示1)error C2001:newline in constant编号:C2001直译:在常量中出现了换行。
错误分析:1.字符串常量、字符常量中是否有换行。
2.在这句语句中,某个字符串常量的尾部是否漏掉了双引号。
3.在这语句中,某个字符创常量中是否出现了双引号字符“"”,但是没有使用转义符“\"”。
4.在这句语句中,某个字符常量的尾部是否漏掉了单引号。
5.是否在某句语句的尾部,或语句的中间误输入了一个单引号或双引号。
2)error C2015:too many characters in constant编号:C2015直译:字符常量中的字符太多了。
错误分析:单引号表示字符型常量。
一般的,单引号中必须有且只能有一个字符(使用转义符时,转义符所表示的字符当作一个字符看待),如果单引号中的字符数多于4个,就会引发这个错误。
另外,如果语句中某个字符常量缺少右边的单引号,也会引发这个错误,例如:if(x=='x||x=='y'){…}值得注意的是,如果单引号中的字符数是2-4个,编译不报错,输出结果是这几个字母的ASC码作为一个整数(int,4B)整体看待的数字。
3)error C2137:empty character constant编号:C2137直译:空的字符定义。
错误分析:原因是连用了两个单引号,而中间没有任何字符,这是不允许的。
4)error C2018:unknown character'0x##'编号:C2018直译:未知字符‘0x##’。
错误分析:0x##是字符ASC码的16进制表示法。
这里说的未知字符,通常是指全角符号、字母、数字,或者直接输入了汉字。
如果全角字符和汉字用双引号包含起来,则成为字符串常量的一部分,是不会引发这个错误的。
5)error C2041:illegal digit'#'for base'8'编号:C2141直译:在八进制中出现了非法的数字‘#’(这个数字#通常是8或者9)。
C语言常见错误代码释义
C语言常见错误代码释义错误代码及错误信息错误释义error1:Out of memory内存溢出error2:Identifier expected缺标识符error3:Unknown identifier未定义的标识符error4:Duplicate identifier重复定义的标识符error5:Syntax error语法错误error6:Error in real constant实型常量错误error7:Error in integer constant整型常量错误error8:String constant exceeds line字符串常量超过一行error10:Unexpected end of file文件非正常结束error11:Line too long行太长error12:Type identifier expected未定义的类型标识符error13:Too many open files打开文件太多error14:Invalid file name无效的文件名error15:File not found文件未找到error16:Disk full磁盘满error17:Invalid compiler directive无效的编译命令error18:Too many files文件太多error19:Undefined type in pointer def指针定义中未定义类型error20:Variable identifier expected缺变量标识符error21:Error in type类型错误error22:Structure too large结构类型太长error23:Set base type out of range集合基类型越界error24:File components may not be files or objectsfile分量不能是文件或对象error25:Invalid string length无效的字符串长度error26:Type mismatch类型不匹配error27:error27:Invalid subrange base type无效的子界基类型error28:Lower bound greater than upper bound下界超过上界error29:Ordinal type expected缺有序类型error30:Integer constant expected缺整型常量error31:Constant expected缺常量error32:Integer or real constant expected缺整型或实型常量error33:Pointer Type identifier expected缺指针类型标识符error34:Invalid function result type无效的函数结果类型error35:Label identifier expected缺标号标识符error36:BEGIN expected缺BEGINerror37:END expected缺ENDerror38:Integer expression expected缺整型表达式error39:Ordinal expression expected缺有序类型表达式error40:Boolean expression expected缺布尔表达式error41:Operand types do not match操作数类型不匹配error42:Error in expression表达式错误error43:Illegal assignment非法赋值error44:Field identifier expected缺域标识符error45:Object file too large目标文件太大error46:Undefined external未定义的外部过程与函数error47:Invalid object file record无效的OBJ文件格式error48:Code segment too large代码段太长error49:Data segment too large数据段太长error50:DO expected缺DOerror51:Invalid PUBLIC definition无效的PUBLIC定义error52:Invalid EXTRN definition无效的EXTRN定义error53:Too many EXTRN definitions太多的EXTRN定义error54:OF expected缺OFerror55:INTERFACE expected缺INTERFACEerror56:Invalid relocatable reference无效的可重定位引用error57:THEN expected缺THENerror58:TO or DOWNTO expected缺TO或DOWNTOerror59:Undefined forward提前引用未经定义的说明error61:Invalid typecast无效的类型转换error62:Division by zero被零除error63:Invalid file type无效的文件类型error64:Cannot read or write variables of this type不能读写此类型变量error65:Pointer variable expected缺指针类型变量error66:String variable expected缺字符串变量error67:String expression expected缺字符串表达式error68:Circular unit reference单元UNIT部件循环引用error69:Unit name mismatch单元名不匹配error70:Unit version mismatch单元版本不匹配error71:Internal stack overflow内部堆栈溢出error72:Unit file format error单元文件格式错误error73:IMPLEMENTATION expected缺IMPLEMENTATIONerror74:Constant and case types do not match常量和CASE类型不匹配error75:Record or object variable expected缺记录或对象变量error76:Constant out of range常量越界error77:File variable expected缺文件变量error78:Pointer expression expected缺指针表达式error79:Integer or real expression expected缺整型或实型表达式error80:Label not within current block标号不在当前块内error81:Label already defined标号已定义error82:Undefined label in preceding statement part在前面未定义标号error83:Invalid@argument无效的@参数error84:UNIT expected缺UNITerror85:";"expected缺“;”error86:":"expected缺“:”error87:","expected缺“,”error88:"("expected缺“(”error89:")"expected缺“)”error90:"="expected缺“=”error91:":="expected缺“:=”error92:"["or"(."Expected缺“[”或“(.”error93:"]"or".)"expected缺“]”或“.)”error94:"."expected缺“.”error95:".."expected缺“..”error96:Too many variables变量太多error97:Invalid FOR control variable无效的FOR循环控制变量error98:Integer variable expected缺整型变量error99:Files and procedure types are not allowed here该处不允许文件和过程类型error100:String length mismatch字符串长度不匹配error101:Invalid ordering of fields无效域顺序error102:String constant expected缺字符串常量error103:Integer or real variable expected缺整型或实型变量error104:Ordinal variable expected缺有序类型变量error105:INLINE error INLINE错误error106:Character expression expected缺字符表达式error107:Too many relocation items重定位项太多error108:Overflow in arithmetic operation算术运算溢出error112:CASE constant out of range CASE常量越界error113:Error in statement表达式错误error114:Cannot call an interrupt procedure不能调用中断过程error116:Must be in8087mode to compile this必须在8087模式编译error117:Target address not found找不到目标地址error118:Include files are not allowed here该处不允许INCLUDE文件error119:No inherited methods are accessible here该处继承方法不可访问error121:Invalid qualifier无效的限定符error122:Invalid variable reference无效的变量引用error123:Too many symbols符号太多error124:Statement part too large语句体太长error126:Files must be var parameters文件必须是变量形参error127:Too many conditional symbols条件符号太多error128:Misplaced conditional directive条件指令错位error129:ENDIF directive missing缺ENDIF指令error130:Error in initial conditional defines初始条件定义错误error131:Header does not match previous definition和前面定义的过程或函数不匹配error133:Cannot evaluate this expression不能计算该表达式error134:Expression incorrectly terminated表达式错误结束error135:Invalid format specifier无效格式说明符error136:Invalid indirect reference无效的间接引用error137:Structured variables are not allowed here该处不允许结构变量error138:Cannot evaluate without System unit没有System单元不能计算error139:Cannot access this symbol不能存取符号error140:Invalid floating point operation无效的符号运算error141:Cannot compile overlays to memory不能编译覆盖模块至内存error142:Pointer or procedural variable expected缺指针或过程变量error143:Invalid procedure or function reference无效的过程或函数调用error144:Cannot overlay this unit不能覆盖该单元error146:File access denied不允许文件访问error147:Object type expected缺对象类型error148:Local object types are not allowed不允许局部对象类型error149:VIRTUAL expected缺VIRTUALerror150:Method identifier expected缺方法标识符error151:Virtual constructors are not allowed不允许虚构造函数error152:Constructor identifier expected缺构造函数标识符error153:Destructor identifier expected缺析构函数标识符error154:Fail only allowed within constructors只能在构造函数内使用Fail标准过程error155:Invalid combination of opcode and operands操作数与操作符无效组合error156:Memory reference expected缺内存引用指针error157:Cannot add or subtract relocatable symbols不能加减可重定位符号error158:Invalid register combination无效寄存器组合error159:286/287instructions are not enabled未激活286/287指令error160:Invalid symbol reference无效符号指针error161:Code generation error代码生成错误error162:ASM expected缺ASMerror166:Procedure or function identifier expected缺过程或函数标识符error167:Cannot export this symbol不能输出该符号error168:Duplicate export name外部文件名重复error169:Executable file header toerror170:Too many segments段太多。
C语言常见错误代码释义
C语言常见错误代码释义错误代码及错误信息错误释义error 1: Out of memory 存溢出error 2: Identifier expected 缺标识符error 3: Unknown identifier 未定义的标识符error 4: Duplicate identifier 重复定义的标识符error 5: Syntax error 语法错误error 6: Error in real constant 实型常量错误error 7: Error in integer constant 整型常量错误error 8: String constant exceeds line 字符串常量超过一行error 10: Unexpected end of file 文件非正常结束error 11: Line too long 行太长error 12: Type identifier expected 未定义的类型标识符error 13: Too many open files 打开文件太多error 14: Invalid file name 无效的文件名error 15: File not found 文件未找到error 16: Disk full 磁盘满error 17: Invalid compiler directive 无效的编译命令error 18: Too many files 文件太多error 19: Undefined type in pointer def 指针定义中未定义类型error 20: Variable identifier expected 缺变量标识符error 21: Error in type 类型错误error 22: Structure too large 结构类型太长error 23: Set base type out of range 集合基类型越界error 24: File components may not be files or objectsfile分量不能是文件或对象error 25: Invalid string length 无效的字符串长度error 26: Type mismatch 类型不匹配error 27:error 27:Invalid subrange base type 无效的子界基类型error 28:Lower bound greater than upper bound 下界超过上界error 29:Ordinal type expected 缺有序类型error 30:Integer constant expected 缺整型常量error 31:Constant expected 缺常量error 32:Integer or real constant expected 缺整型或实型常量error 33:Pointer Type identifier expected 缺指针类型标识符error 34:Invalid function result type 无效的函数结果类型error 35:Label identifier expected 缺标号标识符error 36:BEGIN expected 缺BEGINerror 37:END expected 缺ENDerror 38:Integer expression expected 缺整型表达式error 39:Ordinal expression expected 缺有序类型表达式error 40:Boolean expression expected 缺布尔表达式error 41:Operand types do not match 操作数类型不匹配error 42:Error in expression 表达式错误error 43:Illegal assignment 非法赋值error 44:Field identifier expected 缺域标识符error 45:Object file too large 目标文件太大error 46:Undefined external 未定义的外部过程与函数error 47:Invalid object file record 无效的OBJ文件格式error 48:Code segment too large 代码段太长error 49:Data segment too large 数据段太长error 50:DO expected 缺DOerror 51:Invalid PUBLIC definition 无效的PUBLIC定义error 52:Invalid EXTRN definition 无效的EXTRN定义error 53: Too many EXTRN definitions 太多的EXTRN定义error 54:OF expected 缺OFerror 55:INTERFACE expected 缺INTERFACEerror 56:Invalid relocatable reference 无效的可重定位引用error 57:THEN expected 缺THENerror 58:TO or DOWNTO expected 缺TO或DOWNTOerror 59:Undefined forward 提前引用未经定义的说明error 61:Invalid typecast 无效的类型转换error 62:Division by zero 被零除error 63:Invalid file type 无效的文件类型error 64:Cannot read or write variables of this type 不能读写此类型变量error 65:Pointer variable expected 缺指针类型变量error 66:String variable expected 缺字符串变量error 67:String expression expected 缺字符串表达式error 68:Circular unit reference 单元UNIT部件循环引用error 69:Unit name mismatch 单元名不匹配error 70:Unit version mismatch 单元版本不匹配error 71:Internal stack overflow 部堆栈溢出error 72:Unit file format error 单元文件格式错误error 73:IMPLEMENTATION expected 缺IMPLEMENTATIONerror 74:Constant and case types do not match 常量和CASE类型不匹配error 75:Record or object variable expected 缺记录或对象变量error 76:Constant out of range 常量越界error 77:File variable expected 缺文件变量error 78:Pointer expression expected 缺指针表达式error 79:Integer or real expression expected 缺整型或实型表达式error 80:Label not within current block 标号不在当前块error 81:Label already defined 标号已定义error 82:Undefined label in preceding statement part 在前面未定义标号error 83:Invalid argument 无效的参数error 84:UNIT expected 缺UNITerror 85: ";" expected 缺“;”error 86:":" expected 缺“:”error 87:"," expected 缺“,”error 88:"(" expected 缺“(”error 89:")" expected 缺“)”error 90:"=" expected 缺“=”error 91:":=" expected 缺“:=”error 92:"[" or "(." Expected 缺“[”或“(.”error 93: "]" or ".)" expected 缺“]”或“.)”error 94:"." expected 缺“.”error 95: ".." expected 缺“..”error 96:Too many variables 变量太多error 97:Invalid FOR control variable 无效的FOR循环控制变量error 98:Integer variable expected 缺整型变量error 99:Files and procedure types are not allowed here 该处不允许文件和过程类型error 100:String length mismatch 字符串长度不匹配error 101:Invalid ordering of fields 无效域顺序error 102:String constant expected 缺字符串常量error 103:Integer or real variable expected 缺整型或实型变量error 104:Ordinal variable expected 缺有序类型变量error 105:INLINE error INLINE错误error 106:Character expression expected 缺字符表达式error 107:Too many relocation items 重定位项太多error 108:Overflow in arithmetic operation 算术运算溢出error 112:CASE constant out of range CASE常量越界error 113:Error in statement 表达式错误error 114:Cannot call an interrupt procedure 不能调用中断过程error 116:Must be in 8087 mode to compile this 必须在8087模式编译error 117:T arget address not found 找不到目标地址error 118:Include files are not allowed here 该处不允许INCLUDE文件error 119:No inherited methods are accessible here 该处继承方法不可访问error 121:Invalid qualifier 无效的限定符error 122:Invalid variable reference 无效的变量引用error 123:Too many symbols 符号太多error 124:Statement part too large 语句体太长error 126:Files must be var parameters 文件必须是变量形参error 127:Too many conditional symbols 条件符号太多error 128:Misplaced conditional directive 条件指令错位error 129:ENDIF directive missing 缺ENDIF指令error 130:Error in initial conditional defines 初始条件定义错误error 131:Header does not match previous definition 和前面定义的过程或函数不匹配error 133:Cannot evaluate this expression 不能计算该表达式error 134:Expression incorrectly terminated 表达式错误结束error 135:Invalid format specifier 无效格式说明符error 136:Invalid indirect reference 无效的间接引用error 137:Structured variables are not allowed here 该处不允许结构变量error 138:Cannot evaluate without System unit 没有System单元不能计算error 139:Cannot access this symbol 不能存取符号error 140:Invalid floating point operation 无效的符号运算error 141:Cannot compile overlays to memory 不能编译覆盖模块至存error 142:Pointer or procedural variable expected 缺指针或过程变量error 143:Invalid procedure or function reference 无效的过程或函数调用error 144:Cannot overlay this unit 不能覆盖该单元error 146:File access denied 不允许文件访问error 147:Object type expected 缺对象类型error 148:Local object types are not allowed 不允许局部对象类型error 149:VIRTUAL expected 缺VIRTUALerror 150: Method identifier expected 缺方法标识符error 151:Virtual constructors are not allowed 不允许虚构造函数error 152:Constructor identifier expected 缺构造函数标识符error 153:Destructor identifier expected 缺析构函数标识符error 154:Fail only allowed within constructors 只能在构造函数使用Fail标准过程error 155:Invalid combination of opcode and operands 操作数与操作符无效组合error 156:Memory reference expected 缺存引用指针error 157:Cannot add or subtract relocatable symbols 不能加减可重定位符号error 158:Invalid register combination 无效寄存器组合error 159:286/287 instructions are not enabled 未激活286/287指令error 160:Invalid symbol reference 无效符号指针error 161:Code generation error 代码生成错误error 162:ASM expected 缺ASMerror 166:Procedure or function identifier expected 缺过程或函数标识符error 167:Cannot export this symbol 不能输出该符号error 168:Duplicate export name 外部文件名重复error 169:Executable file header toerror 170:Too many segments 段太多。
C语言错误代码及错误信息错误
C语言错误代码及错误信息错误C语言错误代码及错误信息错误释义error 1: Out of memory 内存溢出error 2: Identifier expected 缺标识符error 3: Unknown identifier 未定义的标识符error 4: Duplicate identifier 重复定义的标识符error 5: Syntax error 语法错误error 6: Error in real constant 实型常量错误error 7: Error in integer constant 整型常量错误error 8: String constant exceeds line 字符串常量超过一行error 10: Unexpected end of file 文件非正常结束error 11: Line too long 行太长error 12: Type identifier expected 未定义的类型标识符error 13: Too many open files 打开文件太多error 14: Invalid file name 无效的文件名error 15: File not found 文件未找到error 16: Disk full 磁盘满error 17: Invalid compiler directive 无效的编译命令error 18: Too many files 文件太多error 19: Undefined type in pointer def 指针定义中未定义类型error 20: Variable identifier expected 缺变量标识符error 21: Error in type 类型错误error 22: Structure too large 结构类型太长error 23: Set base type out of range 集合基类型越界error 24: File components may not be files or objectsfile分量不能是文件或对象 error 25: Invalid string length 无效的字符串长度error 26: Type mismatch 类型不匹配error 27:error 27:Invalid subrange base type 无效的子界基类型error 28:Lower bound greater than upper bound 下界超过上界error 29:Ordinal type expected 缺有序类型error 30:Integer constant expected 缺整型常量error 31:Constant expected 缺常量error 32:Integer or real constant expected 缺整型或实型常量error 33:Pointer Type identifier expected 缺指针类型标识符error 34:Invalid function result type 无效的函数结果类型error 35:Label identifier expected 缺标号标识符error 36:BEGIN expected 缺BEGINerror 37:END expected 缺ENDerror 38:Integer expression expected 缺整型表达式error 39:Ordinal expression expected 缺有序类型表达式error 40:Boolean expression expected 缺布尔表达式error 41:Operand types do not match 操作数类型不匹配error 42:Error in expression 表达式错误error 43:Illegal assignment 非法赋值error 44:Field identifier expected 缺域标识符error 45:Object file too large 目标文件太大error 46:Undefined external 未定义的外部过程与函数error 47:Invalid object file record 无效的OBJ文件格式error 48:Code segment too large 代码段太长error 49:Data segment too large 数据段太长error 50:DO expected 缺DOerror 51:Invalid PUBLIC definition 无效的PUBLIC定义error 52:Invalid EXTRN definition 无效的EXTRN定义error 53: Too many EXTRN definitions 太多的EXTRN定义error 54:OF expected 缺OFerror 55:INTERFACE expected 缺INTERFACEerror 56:Invalid relocatable reference 无效的可重定位引用error 57:THEN expected 缺THENerror 58:TO or DOWNTO expected 缺TO或DOWNTOerror 59:Undefined forward 提前引用未经定义的说明error 61:Invalid typecast 无效的类型转换error 62:Division by zero 被零除error 63:Invalid file type 无效的文件类型error 64:Cannot read or write variables of this type 不能读写此类型变量error 65:Pointer variable expected 缺指针类型变量error 66:String variable expected 缺字符串变量error 67:String expression expected 缺字符串表达式error 68:Circular unit reference 单元UNIT部件循环引用error 69:Unit name mismatch 单元名不匹配error 70:Unit version mismatch 单元版本不匹配error 71:Internal stack overflow 内部堆栈溢出error 72:Unit file format error 单元文件格式错误error 73:IMPLEMENTATION expected 缺IMPLEMENTATION error 74:Constant and case types do not match 常量和CASE 类型不匹配error 75:Record or object variable expected 缺记录或对象变量error 76:Constant out of range 常量越界error 77:File variable expected 缺文件变量error 78:Pointer expression expected 缺指针表达式error 79:Integer or real expression expected 缺整型或实型表达式error 80:Label not within current block 标号不在当前块内error 81:Label already defined 标号已定义error 82:Undefined label in preceding statement part 在前面未定义标号error 83:Invalid @ argument 无效的@参数error 84:UNIT expected 缺UNITerror 85: ";" expected 缺“;”error 86: ":" expected 缺“:”error 87: "," expected 缺“,”error 88: "(" expected 缺“(”error 89: ")" expected 缺“)”error 90: "=" expected 缺“=”error 91: ":=" expected 缺“:=”error 92: "[" or "(." Expected 缺“[”或“(.”error 93: "]" or ".)" expected 缺“]”或“.)”error 94: "." expected 缺“.”error 95: ".." expected 缺“..”error 96:Too many variables 变量太多error 97:Invalid FOR control variable 无效的FOR循环控制变量error 98:Integer variable expected 缺整型变量error 99:Files and procedure types are not allowed here 该处不允许文件和过程类型error 100:String length mismatch 字符串长度不匹配error 101:Invalid ordering of fields 无效域顺序error 102:String constant expected 缺字符串常量error 103:Integer or real variable expected 缺整型或实型变量error 104:Ordinal variable expected 缺有序类型变量error 105:INLINE error INLINE错误error 106:Character expression expected 缺字符表达式error 107:Too many relocation items 重定位项太多error 108:Overflow in arithmetic operation 算术运算溢出error 112:CASE constant out of range CASE常量越界error 113:Error in statement 表达式错误error 114:Cannot call an interrupt procedure 不能调用中断过程error 116:Must be in 8087 mode to compile this 必须在8087模式编译error 117:Target address not found 找不到目标地址error 118:Include files are not allowed here 该处不允许INCLUDE文件error 119:No inherited methods are accessible here 该处继承方法不可访问 error 121:Invalid qualifier 无效的限定符error 122:Invalid variable reference 无效的变量引用error 123:Too many symbols 符号太多error 124:Statement part too large 语句体太长error 126:Files must be var parameters 文件必须是变量形参error 127:Too many conditional symbols 条件符号太多error 128:Misplaced conditional directive 条件指令错位error 129:ENDIF directive missing 缺ENDIF指令error 130:Error in initial conditional defines 初始条件定义错误error 131:Header does not match previous definition 和前面定义的过程或函数不匹配error 133:Cannot evaluate this expression 不能计算该表达式error 134:Expression incorrectly terminated 表达式错误结束error 135:Invalid format specifier 无效格式说明符error 136:Invalid indirect reference 无效的间接引用error 137:Structured variables are not allowed here 该处不允许结构变量error 138:Cannot evaluate without System unit 没有System 单元不能计算 error 139:Cannot access this symbol 不能存取符号error 140:Invalid floating point operation 无效的符号运算error 141:Cannot compile overlays to memory 不能编译覆盖模块至内存error 142:Pointer or procedural variable expected 缺指针或过程变量error 143:Invalid procedure or function reference 无效的过程或函数调用error 144:Cannot overlay this unit 不能覆盖该单元error 146:File access denied 不允许文件访问error 147:Object type expected 缺对象类型error 148:Local object types are not allowed 不允许局部对象类型error 149:VIRTUAL expected 缺VIRTUALerror 150: Method identifier expected 缺方法标识符error 151:Virtual constructors are not allowed 不允许虚构造函数error 152:Constructor identifier expected 缺构造函数标识符error 153:Destructor identifier expected 缺析构函数标识符error 154:Fail only allowed within constructors 只能在构造函数内使用Fail标准过程error 155:Invalid combination of opcode and operands 操作数与操作符无效组合error 156:Memory reference expected 缺内存引用指针error157:Cannot add or subtract relocatable symbols 不能加减可重定位符号error 158:Invalid register combination 无效寄存器组合error 159:286/287 instructions are not enabled 未激活286/287指令error 160:Invalid symbol reference 无效符号指针error 161:Code generation error 代码生成错误error 162:ASM expected 缺ASMerror 166:Procedure or function identifier expected 缺过程或函数标识符 error 167:Cannot export this symbol 不能输出该符号error 168:Duplicate export name 外部文件名重复error 169:Executable file header toerror 170:Too many segments 段太多。
c语言错误查询表--学c必备品(收藏版)
1. Ambiguous operators need parentheses —不明确的运算需要用括号括起 -2. Ambiguous symbol 'xxx' —不明确的符号 -3. Argument list syntax error —参数表语法错误 -4. Array bounds missing —丢失数组界限符-5. Array size toolarge —数组尺寸太大-6. Bad character in paramenters —参数中有不适当的字符 -7. Bad file name format in include directive —包含命令中文件名格式不正确 -8. Bad ifdef directive synatax —编译预处理ifdef有语法错 -9. Bad undef directive syntax —编译预处理undef有语法错 -10. Bit field too large —位字段太长 -11. Call of non-function —调用未定义的函数 -12. Call to function with no prototype —调用函数时没有函数的说明 -13. Cannot modify a const object —不允许修改常量对象 -14. Case outside of switch —漏掉了case 语句 -15. Case syntax error — Case 语法错误-16. Code has no effect —代码不可能执行到-17. Compound statement missing{ —分程序漏掉"{" -18. Conflicting type modifiers —不明确的类型说明符 -19. Constant expression required —要求常量表达式 -20. Constant out of range in comparison —在比较中常量超出范围 -21. Conversion may lose significant digits —转换时会丢失意义的数字 -22. Conversion of near pointer not allowed —不允许转换近指针 -23. Could not find file 'xxx' —找不到XXX文件-24. Declaration missing ; —说明缺少";" -25. Declaration syntax error —说明中出现语法错误 -26. Default outside of switch — Default 出现在switch语句之外-27. Define directive needs an identifier —定义编译预处理需要标识符 -28. Division by zero —用零作除数 -29. Do statement must have while — Do-while语句中缺少while部分 -30. Enum syntax error —枚举类型语法错误 -31. Enumeration constant syntax error —枚举常数语法错误-32. Error directive :xxx —错误的编译预处理命令 -33. Error writing output file —写输出文件错误 -34. Expression syntax error —表达式语法错误 -35. Extra parameter in call —调用时出现多余错误 -36. File name too long —文件名太长 -37. Function call missing ) —函数调用缺少右括号 -38. Fuction definition out of place —函数定义位置错误 -39. Fuction should return a value —函数必需返回一个值 -40. Goto statement missing label — Goto语句没有标号 -41. Hexadecimal or octal constant too large — 16进制或8进制常数太大-42. Illegal character 'x' —非法字符x -43. Illegal initialization —非法的初始化 -44. Illegal octal digit —非法的8进制数字 --45. Illegal pointer subtraction —非法的指针相减 -46. Illegal structure operation —非法的结构体操作 -47. Illegal use of floating point —非法的浮点运算 -48. Illegal use of pointer —指针使用非法 -49. Improper use of a typedefsymbol —类型定义符号使用不恰当-50. In-line assembly not allowed —不允许使用行间汇编 -51. Incompatible storage class —存储类别不相容 -52. Incompatible type conversion —不相容的类型转换 -53. Incorrect number format —错误的数据格式 -54. Incorrect use of default — Default使用不当 -55. Invalid indirection —无效的间接运算 -56. Invalid pointer addition —指针相加无效 -57. Irreducible expression tree —无法执行的表达式运算 -58. Lvalue required —需要逻辑值0或非0值 -59. Macro argument syntax error —宏参数语法错误 -60. Macro expansion too long —宏的扩展以后太长 -61. Mismatched number of parameters in definition —定义中参数个数不匹配-62. Misplaced break —此处不应出现break语句 -63. Misplaced continue —此处不应出现continue语句 -64. Misplaced decimal point —此处不应出现小数点 -65. Misplaced elif directive —不应编译预处理elif -66. Misplaced else —此处不应出现else -67. Misplaced else directive —此处不应出现编译预处理else-68. Misplaced endif directive —此处不应出现编译预处理endif -69. Must be addressable —必须是可以编址的 -70. Must take address of memory location —必须存储定位的地址-71. No declaration for function 'xxx' —没有函数xxx的说明 -72. No stack —缺少堆栈 -73. No type information —没有类型信息-74. Non-portable pointer assignment —不可移动的指针(地址常数)赋值-75. Non-portable pointer comparison —不可移动的指针(地址常数)比较 -76. Non-portable pointer conversion —不可移动的指针(地址常数)转换 -77. Not a valid expression format type —不合法的表达式格式 -78. Not an allowed type —不允许使用的类型 -79. Numeric constant too large —数值常太大 -80. Out of memory —内存不够用 -81. Parameter 'xxx' is never used —能数xxx没有用到-82. Pointer required on left side of -> —符号->的左边必须是指针-83. Possible use of 'xxx' before definition —在定义之前就使用了xxx(警告) -84. Possibly incorrect assignment —赋值可能不正确 -85. Redeclaration of 'xxx' —重复定义了xxx -86. Redefinition of 'xxx' is not identical — xxx的两次定义不一致-87. Register allocation failure —寄存器定址失败 -88. Repeat count needs an lvalue —重复计数需要逻辑值 -89. Size of structure or array not known —结构体或数给大小不确定 -90. Statement missing ; —语句后缺少";" -91. Structure or union syntax error —结构体或联合体语法错误-92. Structure size too large —结构体尺寸太大 -93. Sub scripting missing ] —下标缺少右方括号 -94. Superfluous & with function or array —函数或数组中有多余的"&"-95. Suspicious pointer conversion —可疑的指针转换 -96. Symbol limit exceeded —符号超限 -97. Too few parameters in call —函数调用时的实参少于函数的参数不-98. Too many default cases — Default太多(switch语句中一个) -99. Too many error or warning messages —错误或警告信息太多 -100. Too many type in declaration —说明中类型太多 -101. Too much auto memory in function —函数用到的局部存储太多 -102. Too much global data defined in file —文件中全局数据太多 -103. Two consecutive dots —两个连续的句点 -104. Type mismatch in parameter xxx —参数xxx类型不匹配 -105. Type mismatch in redeclaration of 'xxx' — xxx重定义的类型不匹配 - 106. Unable to create output file 'xxx' —无法建立输出文件xxx -107. Unable to open include file 'xxx' —无法打开被包含的文件xxx - 108. Unable to open input file 'xxx' —无法打开输入文件xxx -109. Undefined label 'xxx' —没有定义的标号xxx -110. Undefined structure 'xxx' —没有定义的结构xxx -111. Undefined symbol 'xxx' —没有定义的符号xxx -112. Unexpected end of file in comment started on line xxx —从xxx行开始的注解尚未结束文件不能结束-113. Unexpected end of file in conditional started on line xxx —从xxx 开始的条件语句尚未结束文件不能结束 -114. Unknown assemble instruction —未知的汇编结构 -115. Unknown option —未知的操作 -116. Unknown preprocessor directive: 'xxx' —不认识的预处理命令xxx-117. Unreachable code —无路可达的代码 -118. Unterminated string or character constant —字符串缺少引号-119. User break —用户强行中断了程序 -120. Void functions may not return a value — Void类型的函数不应有返回值 -121. Wrong number of arguments —调用函数的参数数目错 -122. 'xxx' not an argument — xxx不是参数 -123. 'xxx' not part of structure — xxx不是结构体的一部分-124. xxx statement missing ( — xxx语句缺少左括号 -125. xxx statement missing ) — xxx语句缺少右括号 -126. xxx statement missing ; — xxx缺少分号 -127. xxx' declared but never used —说明了xxx但没有使用 -128. xxx' is assigned a value which is never used —给xxx赋了值但未用过-。
C语言常见错误分析汇总
C语言常见错误分析汇总1、在一个工程里出现两个main函数时3.obj : error LNK2005: _main already defined in file1.objDebug/HELLO.exe : fatal error LNK1169: one or more multiply defined symbols found 这个就是说,你的main函数重定义了。
你看看是不是你的工程里面,包含了很多个有main函数的文件?2、fatal error C1010: unexpected end of file while looking for precompiled header directive出现这个错误的原因是,工程类型建错了,应该选择win 32 console application3、拼写错误(1)#include <stido.h> //头文件拼写错了void main(){printf("doeifweofupwp");}fatal error C1083: Cannot open include file: 'stido.h': No such file or directory(2)#inculde <stdio.h>//include拼写错了void main(){printf("doeifweofupwp");}fatal error C1021: invalid preprocessor command 'inculde'(无效的预编译命令inculde)(3)#include <stdio.h>void mian() //main拼写错了{printf("doeifweofupwp");}error LNK2001: unresolved external symbol _mainDebug/HELLO.exe : fatal error LNK1120: 1 unresolved externals你用vc建了一个控制台程序,它的入口函数应该是main.4、(1)书写标识符时,忽略了大小写字母的区别。
c语言中错误提示(持续更新)
2、error -[Error] assignment of read-only location '* p' 对只允许读的数据进行修改操作
-[Error]subscripted value is neither array nor pointer nor vector 对一个非数组,指针,向量使用下标
原因是数组作为参数传给函数时是传给数组的地址而不是传给整个的数组空间因而sizeofarr这句话会报错
错误类型:(多报错是好事) 一、warning 二、e ( 持 续 更 新 )
1、warning -[warning] assignment makes integer from pointer without a cast [enabled by default] 赋值类型和变量类型不一致 -[warning] on array function parameter ‘array’ will return size of ‘int *’ 原因是数组作为参数传给函数时,是传给数组的地址,而不是传给整个的数组空间,因而sizeof(arr)这句话会报错
3、linux命令 size: filename: File format not recognized(文件格式不正确)
***持续更新中***
C语言编译错误信息提示
C语言编译错误信息提示1.Array bounds missing数组的界限“]”丢失。
在源文件中定义了一个数组,但此数组没有以右方括号结束。
2.Array size too large数组长度太大。
定义的数组太大,可用内存不够。
3.Bad configuration file配置文件不正确。
TURBOC.CFG配置文件中包含不是合适命令行选择项的非注解文字。
配置文件命令选择项必须以一短横线(-)开始。
4.Bad file name format in include directive使用include指令时,文件名格式不正确。
Include文件名必须用引号(“filename.h”)或尖括号(<filename.h>)括起来,否则将产生此类错误。
如果使用了宏,则产生的扩展正文也不正(因为无引号)。
5.Cannot modify a const object不能修改一个常量对象。
对定义为常量的对象进行不合法操作(如常量赋值)引起此类错误。
6.Case outside of switchCase出现在switch外,编译程序发现Case语句出现在switch句句外面,通常是由于括号不匹配造成的。
7.Case statement missingCase语句漏掉。
Case语句必须包含一以冒号终结的常量表达式。
可能的原因是丢了冒号或在冒号前多了别的符号。
8.Case syntax errorCase语法错误。
Case中包含了一些不正确的符号。
9.Character constant too long字符常量太长。
字符常量只能是一个或两个字符长。
10.Compound statement missing复合语句漏掉了大括号“}”,编译程序扫描到源文件末时,未发现结束大括号,通常是由于大括号不匹配造成的。
11.Could not find ‘xxxxxxxx.xxx’找不到’xxxxxxxx’文件。
C语言 编译出错信息一览表
附录二编译出错信息一览表Turbo C编译器查出的源程序错误分为3类:严重错误、一般错误和警告。
严重错误通常是内部编译出错,一般很少出现。
一旦发生严重错误,编译立即停止。
一般错误是指程序的语法错误、磁盘或内存存取错误或命令行错误等。
警告指出一些值得怀疑的情况,而这些情况本身又可以合理地作为源程序的一部分。
它们不阻止编译的进行,只是产生警告信息。
例如,在Turbo C中,当编译时,编译时信息窗口会显示如下信息:Error xxx Undefined symbol ‘x’in function main这是致命性的错误:在main函数中,xxx行的符号‘x’没定义。
这种错误只有修改了才能编译成功,也才能做随后的链接和运行功能。
Warning xxx Possible use of ‘x’ before definition in …这是警告性的信息:在xxx中xxx行在定义前可能使用了变量‘x’。
这种信息不用修改也可以做随后的链接和运行功能,但可能会产生错误也可能不会。
在编译时,编译程序首先输出这3类错误信息,然后指出源文件名和发现出错的行号,最后输出信息的内容。
下面按字母顺序分别列出这3类错误信息。
并对每一条信息进行解释,指出产生的原因和纠正方法。
经常浏览这些出错信息,不仅可以在程序调试时快速查出错误原因和位置,而且有助于正确地掌握C语言语法知识。
1.严重错误Bad call of inline function (内部函数的不合理调用)不正确地调用一个宏定义的内部函数。
一个内部函数以两个下划线(_ _)开始和结束。
Irreducible expression tree (不可约表达式树)源文件中的表达式使得代码生成程序无法为其产生代码。
如果编译时总遇到这种错误,应该通知Borland公司。
Register alloction failure (存储器分配失败)这种错误指源文件中的表达式太复杂,代码生成程序无法为它生成代码。
C语言中的代码调试和错误排查技巧
C语言中的代码调试和错误排查技巧在C语言编程中,代码调试和错误排查技巧是非常重要的,它们能够帮助程序员迅速定位和修复代码中的错误,提高开发效率和代码质量。
下面将介绍几种常用的C语言代码调试和错误排查技巧。
1.使用调试工具:C语言提供了一些常用的调试工具,如gdb (GNU调试器),它能够让程序在执行过程中停下来,以便程序员检查变量的值、函数的调用栈等信息。
通过调试工具,程序员可以逐步执行程序,定位错误所在,并查看变量的值是否符合预期。
另外,还可以利用调试工具设置断点,观察程序运行到特定位置时的状态,从而更好地分析问题。
2.打印调试信息:在代码中适当地插入打印语句可以帮助程序员追踪程序的执行过程。
通过打印变量的值或特定标志位,可以了解程序的执行路径,以及某些变量在执行过程中的变化。
这样可以更准确地找出问题所在,并提供有价值的信息来排查错误。
3.使用断言(assert):断言是一种预先定义的测试,用于检查代码中的假设条件是否为真。
通过在代码中插入assert语句,可以在运行时进行断言检查,并在条件不满足时中断程序。
这样可以帮助程序员尽早发现错误,并追踪到问题所在。
4.分析错误信息:在C语言编译器报告的错误信息中,通常会包含有关错误所在位置的详细信息。
程序员可以仔细分析错误信息,例如错误的行号、变量的类型等,以便定位错误。
此外,编译器还可以给出一些警告信息,这些警告信息可能暗示程序中的潜在问题,因此也需要引起程序员的重视。
5.思考边界情况:在编写代码时,需要考虑各种边界情况,例如输入的数据为0、负数或最大值时,代码是否能够正确处理。
通过思考边界情况,可以及早发现潜在的错误和漏洞,并进行相应的修复。
6.单元测试和集成测试:编写代码的同时,编写相应的单元测试用例是一种良好的习惯。
单元测试可以帮助程序员验证每个功能模块的正确性,确保其按照预期工作。
在软件开发过程中,还需要进行集成测试,以验证各个模块之间的协作是否正确。
C语言常见错误一览表
C语言常见错误一览表C语言常见错误分析汇总C语言的最大特点是:功能强、使用方便灵活。
C编译的程序对语法检查并不象其它高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误。
看着有错的程序,不知该如何改起,本人通过对C的学习,积累了一些C编程时常犯的错误,写给各位学员以供参考。
1.书写标识符时,忽略了大小写字母的区别。
main(){int a=5;printf("%d",A);}编译程序把a和A认为是两个不同的变量名,而显示出错信息。
C认为大写字母和小写字母是两个不同的字符。
习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。
2.忽略了变量的类型,进行了不合法的运算。
main(){float a,b;printf("%d",a%b);}%是求余运算,得到a/b的整余数。
整型变量a和b可以进行求余运算,而实型变量则不允许进行“求余”运算。
3.将字符常量与字符串常量混淆。
char c;c="a";在这里就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符序列。
C规定以“\”作字符串结束标志,它是由系统自动加上的,所以字符串“a”实际上包含两个字符:‘a'和‘\',而把它赋给一个字符变量是不行的。
4.忽略了“=”与“==”的区别。
在许多高级语言中,用“=”符号作为关系运算符“等于”。
如在BASIC程序中可以写if (a=3) then …但C语言中,“=”是赋值运算符,“==”是关系运算符。
如:if (a==3) a=b;前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。
由于习惯问题,初学者往往会犯这样的错误。
5.忘记加分号。
分号是C语句中不可缺少的一部分,语句末尾必须有分号。
C语言技术的调试与错误排查指南
C语言技术的调试与错误排查指南在计算机编程领域中,C语言一直被广泛使用。
然而,即使是经验丰富的程序员也难免会遇到各种错误和bug。
所幸的是,C语言提供了一些调试工具和技术,帮助我们定位和解决问题。
本文将介绍一些常见的C语言调试技术和错误排查指南。
一、使用调试器调试器是一种强大的工具,可以帮助程序员跟踪代码的执行过程并找出问题所在。
GDB(GNU调试器)是一个常用的调试器,它可以在终端中使用。
在编译时,需要使用-g选项来生成调试信息。
然后,通过在终端中运行gdb命令,可以进入调试模式。
调试器提供了一系列命令,如设置断点、单步执行、查看变量值等。
当程序执行到断点时,可以逐行查看代码,并检查变量的值是否符合预期。
如果发现错误,可以使用调试器提供的命令来获取更多的上下文信息,以便更好地理解问题。
二、打印调试信息除了使用调试器外,打印调试信息也是一种常见的调试技术。
在代码中插入一些打印语句,输出变量的值或某些关键点的消息。
这种方法适用于简单的问题和小型程序。
在C语言中,可以使用printf函数来打印调试信息。
通过在代码中插入printf语句,可以输出变量的值或其他有用的信息。
然而,需要注意的是,在调试完成后,要记得将这些打印语句删除或注释掉,以免影响程序的性能。
三、避免内存错误内存错误是C语言程序中常见的问题之一。
常见的内存错误包括访问未分配的内存、访问已释放的内存、内存泄漏等。
这些错误可能导致程序崩溃或产生不可预测的结果。
为了避免内存错误,可以使用一些工具和技术。
例如,Valgrind是一个开源的内存调试工具,可以检测内存泄漏和访问错误。
通过在终端中运行valgrind命令,可以对程序进行内存错误检查。
此外,C语言还提供了一些内存管理函数,如malloc、free和realloc。
在使用这些函数时,需要注意内存的分配和释放,以避免内存错误。
四、处理异常情况在编写C语言程序时,需要考虑异常情况的处理。
例如,当程序遇到无效输入或发生错误时,应该采取适当的措施来处理异常情况,而不是简单地崩溃或产生错误结果。
CCS_C语言出错信息速查
C语言出错信息速查Ambiguous operators need parentheses 不明确的运算需要用括号括起Ambiguous symbol ``xxx``不明确的符号Argument list syntax error参数表法Array bounds missing丢失数界限符Array size toolarge数尺寸太大Bad character in paramenters参数中有不适当的字符Bad file name format in include directive 包含命令中文件名格式不正确Bad ifdef directive synatax编译预处理ifdef有法Bad undef directive syntax编译预处理undef有法Bit field too large位字段太Call of non-function调用未定的函数Call to function with no prototype调用函数没有函数的明Cannot modify a const object不允修改常量象Case outside of switch漏掉了case 语句Case syntax errorCase 语法Code has no effect代不可述不可能行到Compound statement missing{分程序漏掉"{"Conflicting type modifiers不明确的型明符Constant expression required要求常量表达式Constant out of range in comparison 在比中常量超出范Conversion may lose significant digits 转换时会失意的数字Conversion of near pointer not allowed 不允近指Could not find file ``xxx``找不到XXX文件Declaration missing ;说明缺少";"Declaration syntax error说明中出法Default outside of switchDefault 出在switch语句之外Define directive needs an identifier定理需要符Division by zero用零作除数Do statement must have whileDo-while语句中缺少while部分Enum syntax error枚型法Enumeration constant syntax error枚常数法Error directive :xxx错误的理命令Error writing output file写出文件Expression syntax error表达式法Extra parameter in call调用出多余File name too long文件名太Function call missing )函数用缺少右括号Fuction definition out of place函数定位置Fuction should return a value函数必需返回一个Goto statement missing labelGoto语句没有号Hexadecimal or octal constant too large 16进制或8进制常数太大Illegal character ``x``非法字符xIllegal initialization非法的初始化Illegal octal digit非法的8进制数字Illegal pointer subtraction非法的指相减Illegal structure operation非法的构体操作Illegal use of floating point非法的浮点运算Illegal use of pointer指使用非法Improper use of a typedefsymbol类型定符号使用不恰当In-line assembly not allowed不允使用行Incompatible storage class存不相容Incompatible type conversion不相容的型Incorrect number format错误的数据格式Incorrect use of defaultDefault使用不当Invalid indirection无效的接运算Invalid pointer addition指相加无效Irreducible expression tree无法行的表达式运算Lvalue required需要0或非0值Macro argument syntax error宏参数法Macro expansion too long宏的展以后太Mismatched number of parameters in definition 定中参数个数不匹配Misplaced break此不出break语句Misplaced continue此不出continue语句Misplaced decimal point此不出小数点Misplaced elif directive不理elifMisplaced else此不出elseMisplaced else directive此不出理elseMisplaced endif directive此不出理endifMust be addressable必是可以址的Must take address of memory location必存定位的地址No declaration for function ``xxx``没有函数xxx的明No stack缺少堆No type information没有型信息Non-portable pointer assignment不可移的指(地址常数)Non-portable pointer comparison不可移的指(地址常数)比Non-portable pointer conversion不可移的指(地址常数)Not a valid expression format type不合法的表达式格式Not an allowed type不允使用的型Numeric constant too large数常太大Out of memory内存不用Parameter ``xxx`` is never used能数xxx没有用到Pointer required on left side of ->符号->的左必是指Possible use of ``xxx`` before definition 在定之前就使用了xxx(警告)Possibly incorrect assignment赋值可能不正确Redeclaration of ``xxx``重定了xxxRedefinition of ``xxx`` is not identical xxx的两次定不一致Register allocation failure寄存器定址失Repeat count needs an lvalue重数需要Size of structure or array not known结构体或数大小不确定Statement missing ;语句后缺少";"Structure or union syntax error结构体或合体法Structure size too large结构体尺寸太大Sub scripting missing ]下缺少右方括号Superfluous & with function or array函数或数中有多余的"&"Suspicious pointer conversion可疑的指Symbol limit exceeded符号超限Too few parameters in call函数用的参少于函数的参数不Too many default casesDefault太多(switch语句中一个)Too many error or warning messages错误或警告信息太多Too many type in declaration说明中型太多Too much auto memory in function函数用到的局部存太多Too much global data defined in file文件中全局数据太多Two consecutive dots两个的句点Type mismatch in parameter xxx参数xxx类型不匹配Type mismatch in redeclaration of ``xxx``xxx重定的型不匹配Unable to create output file ``xxx``无法建立出文件xxxUnable to open include file ``xxx``无法打被包含的文件xxxUnable to open input file ``xxx``无法打入文件xxxUndefined label ``xxx``没有定的号xxxUndefined structure ``xxx``没有定的构xxxUndefined symbol ``xxx``没有定的符号xxxUnexpected end of file in comment started on line xxx 从xxx行始的注解尚未束文件不能束Unexpected end of file in conditional started on line xxx 从xxx 开始的条件句尚未束文件不能束Unknown assemble instruction未知的构Unknown option未知的操作Unknown preprocessor directive: ``xxx``不的理命令xxxUnreachable code无路可达的代Unterminated string or character constant字符串缺少引号User break用强行中断了程序Void functions may not return a valueVoid类型的函数不有返回Wrong number of arguments调用函数的参数数目``xxx`` not an argumentxxx不是参数``xxx`` not part of structurexxx不是构体的一部分xxx statement missing (xxx语句缺少左括号xxx statement missing )xxx语句缺少右括号xxx statement missing ;xxx缺少分号xxx`` declared but never used说明了xxx但没有使用xxx`` is assigned a value which is never used 给xxx赋了但未用Zero length structure结构体的度零。
如何快速有效地找出程序错误(C语言篇)
如何快速有效地找出程序错误(C语⾔篇)我想⼤多数刚开始学习C语⾔的⼈都和我以前⼀样,⾃⼰好不容易敲出的程序代码在调试运⾏时却出错了,⽽⾃⼰却不知道错误出在哪⼉,怎么去修改。
多数⼈的第⼀反应就是摸不着头脑了,然后索性根据⾃⼰的逻辑去修改代码,结果反⽽越改越错。
以下是我总结的⼀些查找错误的⽅法。
⾸先查找代码是否存在逻辑错误:1.变量使⽤前未被数值实例:int main() { int x=5,y,z; z=x*y; printf("%d",z); return 0; }在此程序中变量y在使⽤之前未被赋值,所以结果输出z的值就会是系统随机分配⼀个值给y再加乘以x的值。
2.把赋值赋值符号“=”与等于符号“==”相混淆 实例: 有⼀下语句:if(a=5){ printf("a等于5"); } 这样⼀来输出的结果永远都是“a等于5”,原因是在执⾏if(a=5)之时,⽆论a之前是什么值,此时都会被重新赋值为5,⽽不是把a的值与5相⽐较,⽽正确的表⽰⽐较的表⽰为: if(a==5){ printf("a等于5"); } 3.switch语句中缺少break,do{}while()语句中while()之后缺少“;”等等。
其次⾸先查找代码是否存在算法错误:以交换两个变量的值得算法为例: 正确的算法如下: int main() { int a=5,b=10,temp; temp=a; a=b; b=temp; printf("%d %d",a,b); return 0; } 如果将temp=a;a=b;b=temp;的顺序随意调换就不会实现将a和b的值交换。
最后也是最容易犯的低级错误:⽐如⼀条语句结束后忘了打";",输⼊语句“scanf("%d",a)”中赋值参数a之前忘了地址符“&”等等。
C语言常见错误代码释义
C语言常见错误代码释义错误代码及错误信息错误释义error 1: Out of memory 内存溢出error 2: Identifier expected 缺标识符error 3: Unknown identifier 未概念的标识符error 4: Duplicate identifier 重复概念的标识符error 5: Syntax error 语法错误error 6: Error in real constant 实型常量错误error 7: Error in integer constant 整型常量错误error 8: String constant exceeds line 字符串常量超过一行error 10: Unexpected end of file 文件非正常终止error 11: Line too long 行太长error 12: Type identifier expected 未概念的类型标识符error 13: Too many open files 打开文件太多error 14: Invalid file name 无效的文件名error 15: File not found 文件未找到error 16: Disk full 磁盘满error 17: Invalid compiler directive无效的编译命令error 18: Too many files 文件太多error 19: Undefined type in pointer def 指针概念中未概念类型error 20: Variable identifier expected 缺变量标识符error 21: Error in type 类型错误error 22: Structure too large 结构类型太长error 23: Set base type out of range 集合基类型越界error 24: File components may not be files or objectsfile分量不能是文件或对象error 25: Invalid string length 无效的字符串长度error 26: Type mismatch 类型不匹配error 27:error 27:Invalid subrange base type 无效的子界基类型error 28:Lower bound greater than upper bound 下界超过上界error 29:Ordinal type expected 缺有序类型error 30:Integer constant expected 缺整型常量error 31:Constant expected 缺常量error 32:Integer or real constant expected 缺整型或实型常量error 33:Pointer Type identifier expected缺指针类型标识符error 34:Invalid function result type 无效的函数结果类型error 35:Label identifier expected 缺标号标识符error 36:BEGIN expected 缺BEGINerror 37:END expected 缺ENDerror 38:Integer expression expected 缺整型表达式error 39:Ordinal expression expected 缺有序类型表达式error 40:Boolean expression expected 缺布尔表达式error 41:Operand types do not match 操作数类型不匹配error 42:Error in expression 表达式错误error 43:Illegal assignment 非法赋值error 44:Field identifier expected 缺域标识符error 45:Object file too large 目标文件太大error 46:Undefined external 未概念的外部进程与函数error 47:Invalid object file record 无效的OBJ文件格式error 48:Code segment too large 代码段太长error 49:Data segment too large数据段太长error 50:DO expected 缺DOerror 51:Invalid PUBLIC definition 无效的PUBLIC概念error 52:Invalid EXTRN definition 无效的EXTRN概念error 53: Too many EXTRN definitions 太多的EXTRN概念error 54:OF expected 缺OFerror 55:INTERFACE expected 缺INTERFACEerror 56:Invalid relocatable reference 无效的可重定位引用error 57:THEN expected 缺THENerror 58:TO or DOWNTO expected 缺TO或DOWNTOerror 59:Undefined forward 提早引用未经概念的说明error 61:Invalid typecast 无效的类型转换error 62:Division by zero 被零除error 63:Invalid file type 无效的文件类型error 64:Cannot read or write variables of this type 不能读写此类型变量error 65:Pointer variable expected 缺指针类型变量error 66:String variable expected缺字符串变量error 67:String expression expected 缺字符串表达式error 68:Circular unit reference 单元UNIT部件循环引用error 69:Unit name mismatch 单元名不匹配error 70:Unit version mismatch 单元版本不匹配error 71:Internal stack overflow 内部堆栈溢出error 72:Unit file format error 单元文件格式错误error 73:IMPLEMENTATION expected 缺IMPLEMENTATIONerror 74:Constant and case types do not match 常量和CASE类型不匹配error 75:Record or object variable expected 缺记录或对象变量error 76:Constant out of range 常量越界error 77:File variable expected 缺文件变量error 78:Pointer expression expected 缺指针表达式error 79:Integer or real expression expected 缺整型或实型表达式error 80:Label not within current block 标号不在当前块内error 81:Label already defined 标号已概念error 82:Undefined label in preceding statement part在前面未概念标号error 83:Invalid @ argument 无效的@参数error 84:UNIT expected 缺UNITerror 85: ";" expected 缺“;”error 86: ":" expected 缺“:”error 87: "," expected 缺“,”error 88: "(" expected 缺“(”error 89: ")" expected 缺“)”error 90: "=" expected 缺“=”error 91: ":=" expected 缺“:=”error 92: "[" or "(." Expected 缺“[”或“(.”error 93: "]" or ".)" expected 缺“]”或“.)”error 94: "." expected 缺“.”error 95: ".." expected 缺“..”error 96:Too many variables 变量太多error 97:Invalid FOR control variable 无效的FOR循环操纵变量error 98:Integer variable expected缺整型变量error 99:Files and procedure types are not allowed here 该处不许诺文件和进程类型error 100:String length mismatch 字符串长度不匹配error 101:Invalid ordering of fields 无效域顺序error 102:String constant expected 缺字符串常量error 103:Integer or real variable expected 缺整型或实型变量error 104:Ordinal variable expected 缺有序类型变量error 105:INLINE error INLINE错误error 106:Character expression expected 缺字符表达式error 107:Too many relocation items 重定位项太多error 108:Overflow in arithmetic operation 算术运算溢出error 112:CASE constant out of range CASE常量越界error 113:Error in statement 表达式错误error 114:Cannot call an interrupt procedure 不能挪用中断进程error 116:Must be in 8087 mode to compile this 必需在8087模式编译error 117:Target address not found 找不到目标地址error 118:Include files are not allowed here该处不许诺INCLUDE文件error 119:No inherited methods are accessible here 该处继承方式不可访问error 121:Invalid qualifier 无效的限定符error 122:Invalid variable reference 无效的变量引用error 123:Too many symbols 符号太多error 124:Statement part too large 语句体太长error 126:Files must be var parameters 文件必需是变量形参error 127:Too many conditional symbols 条件符号太多error 128:Misplaced conditional directive 条件指令错位error 129:ENDIF directive missing 缺ENDIF指令error 130:Error in initial conditional defines 初始条件概念错误error 131:Header does not match previous definition 和前面概念的进程或函数不匹配error 133:Cannot evaluate this expression 不能计算该表达式error 134:Expression incorrectly terminated 表达式错误终止error 135:Invalid format specifier 无效格式说明符error 136:Invalid indirect reference 无效的间接引用error 137:Structured variables are not allowed here该处不许诺结构变量error 138:Cannot evaluate without System unit 没有System单元不能计算error 139:Cannot access this symbol 不能存取符号error 140:Invalid floating point operation 无效的符号运算error 141:Cannot compile overlays to memory 不能编译覆盖模块至内存error 142:Pointer or procedural variable expected 缺指针或进程变量error 143:Invalid procedure or function reference 无效的进程或函数挪用error 144:Cannot overlay this unit 不能覆盖该单元error 146:File access denied 不许诺文件访问error 147:Object type expected 缺对象类型error 148:Local object types are not allowed 不许诺局部对象类型error 149:VIRTUAL expected 缺VIRTUALerror 150: Method identifier expected 缺方式标识符error 151:Virtual constructors are not allowed 不许诺虚构造函数error 152:Constructor identifier expected 缺构造函数标识符error 153:Destructor identifier expected 缺析构函数标识符error 154:Fail only allowed within constructors只能在构造函数内利用Fail标准进程error 155:Invalid combination of opcode and operands 操作数与操作符无效组合error 156:Memory reference expected 缺内存引用指针error 157:Cannot add or subtract relocatable symbols 不能加减可重定位符号error 158:Invalid register combination 无效寄放器组合error 159:286/287 instructions are not enabled 未激活286/287指令error 160:Invalid symbol reference 无效符号指针error 161:Code generation error 代码生成错误error 162:ASM expected 缺ASMerror 166:Procedure or function identifier expected 缺进程或函数标识符error 167:Cannot export this symbol 不能输出该符号error 168:Duplicate export name 外部文件名重复error 169:Executable file header toerror 170:Too many segments 段太多。
c语言编译错误信息
C语言编译错误信息Turbo C 编译程序检查源程序中三类出错信息:致命错误、一般错误和警告。
致命错误出现很少,它通常是内部编译出错。
在发生致命错误时,编译立即停止,必须采取一些适当的措施并重新编译。
一般错误指程序的语法错误、磁盘或内存存取错误或命令错误等。
编译系统遇到这类错误时,一般也要停止编译。
警告并不阻止编译进行。
它指出一些值得怀疑的情况,而这些情况本身又有可能合理地成为源程序的一部分。
因此,警告信息只是提醒用户注意,编译过程并不停止。
编译系统在发现源程序中的各类错误时,首先显示错误信息,然后显示源文件名和出错的行号。
但必须注意,真正的错误位置不一定准在显示出错的行上,也可能是在前一行或前几行;有时,好象发生了很多错误,而实际上可能是由一个错误造成的。
下面按字母顺序分别列出这三类错误信息。
对每一条信息,提供可能产生的原因和修正的方法。
致命错误1.Bad call of in-lint function内部函数非法调用在使用一个宏定义的内部函数时,没有正确调用。
一个内部函数以双下划线(--)开始和结束。
2.Irreducible expression tree 不可约表达式树这种错误是由于源文件中的某些表达式使得代码生成程序无法为它产生代码。
这种表达式必须避免使用。
3. Registcr allocation failure 存储器分配失效这种错误指的是源文件行中的表达式太复杂,代码生成程序无法为它生成代码。
此时应简化这种复杂的表达式或干脆避免使用它。
一般错误1. #Operator not followed by macro argument name#运算符后无宏变量名。
在宏定义中,#用于标识一宏变量名。
“#”后必须跟一宏变量名。
2. ‘xxxxxxxx’nor an argument‘xxxxxxxx’不是函数参数。
在源程序中将该标识符定义为一个函数参数,但此标识符没有在函数表中出现。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
43.Conversion may lose significant digits :转换时会丢失意义的数字
44.Conversion of near pointer not allowed :不允许转换近指针
45.Could not find file 'xxx' :找不到XXX文件
pound statement missing{ :分程序漏掉"{"
40.Conflicting type modifiers :不明确的类型说明符
41.Constant expression required :要求常量表达式
42.Constant out of range in comparison :在比较中常量超出范围
27.Array size toolarge :数组尺寸太大
28.Bad character in paramenters :参数中有不适当的字符
29.Bad file name format in include directive :包含命令中文件名格式不正确
30.Bad ifdef directive synatax :编译预处理ifdef有语法错
46.Declaration missing ; :说明缺少";"
47.Declaration syntax error :说明中出现语法错误
48.Default outside of switch :Default 出现在switch语句之外
49.Define directive needs an identifier :定义编译预处理需要标识符
58.File name too long :文件名太长
59.Function call missing ) :函数调用缺少右括号
60.Fuction definition out of place :函数定义位置错误
61.Fuction should return a value :函数必需返回一个值
62.Goto statement missing label :Goto语句没有标号
63.Hexadecimal or octal constant too large :16进制或8进制常数太大
64.Illegal character 'x' :非法字符x
65.Illegal initialization :非法的初始化
**************
Ctrl+F 输入关键字查找
1."c" not an argument in function sum 该标识符不是函数的参数
2.array bounds missing ] in function main 缺少数组界限符 "]"
3.Array size too large in function main 数组规模太大
78.Invalid pointer addition 指针相加无效
79.Irreducible expression tree 无法执行的表达式运算
80.Lvalue required 需要逻辑值0或非0值
81.Macro argument syntax error 宏参数语法错误
94.No stack 缺少堆栈
95.No type information 没有类型信息
96.Non-portable pointer assignment 不可移动的指针(地址常数)赋值
97.Non-portable pointer comparison 不可移动的指针(地址常数)比较
98.Non-portable pointer conversion 不可移动的指针(地址常数)转换
99.Not a valid expression format type 不合法的表达式格式
100.Not an allowed type 不允许使用的类型
101.Numeric constant too large 数值常太大
31.Bad undef directive syntax :编译预处理undef有语法错
32.Bit field too large :位字段太长
33.Call of non-function :调用未定义的函数
34.Call to function with no prototype :调用函数时没有函数的说明
54.Error directive :xxx :错误的编译预处理命令
55.Error writing output file :写输出文件错误
56.Expression syntax error :表达式语法错误
57.Extra parameter in call :调用时出现多余错误
10.declaration syntax error in function main 宣告语法错误
11.expression syntax in function main 表达式语法错误
12. extra parameter in call to sum in function 调用函数时使用了过多的参数
102.Out of memory 内存不够用
103.Parameter 'xxx' is never used 能数xxx没有用到
104.Pointer required on left side of -> 符号->的左边必须是指针
105.Possible use of 'xxx' before definition 在定义之前就使用了xxx(警告)
86.Misplaced decimal point 此处不应出现小数点
87.Misplaced elif directive 不应编译预处理elif
88.Misplaced else 此处不应出现else
89.Misplaced else directive 此处不应出现编译预处理else
16.out of memory in function main 内存不足
17.statement missing ; in function main 语句后面漏掉分号.
警告报错
18."k" is assigned a value which is never used 定义了一个变量,但程序从来没用过
70.Illegal use of pointer :指针使用非法
71.Improper use of a typedefsymbol :类型定义符号使用不恰当
72.In-line assembly not allowed :不允许使用行间汇编
73.Incompatible storage class :存储类别不相容
23.Ambiguous operators need parentheses:不明确的运算需要用括号括起
24.Ambiguous symbol 'xxx' :不明确的符号
25.Argument list syntax error:参数表语法错误
26.Array bounds missing :丢失数组界限符
13.illegal use of floating point in function main 浮点数的不合法使用
14.illegal pionter subtraction in function main 不合法的指针相减
15.invalid pointer addition in function main 无效的指针相加
19.possibiy incorrect assignment in function mapointer conversion in function main 可疑的指针转换
22.code has no effect in funtion main 代码对程序没效果
4.bad file name format in include directive 在包含指令中的文件名格式不正确.
5.Call of non-function in function main 调用未经过定义的函数.
6.cannot modify a const object in function main 对常量不能进行修改.
7.character constant too long in function main 字符常量太大.
8.constant expression required in funtion main 数组定义的时候,数组大小要求是常数
pound statment missing } in function main 复合语句漏掉符号 "{"
90.Misplaced endif directive 此处不应出现编译预处理endif
91.Must be addressable 必须是可以编址的
92.Must take address of memory location 必须存储定位的地址
93.No declaration for function 'xxx' 没有函数xxx的说明
35.Cannot modify a const object :不允许修改常量对象
36.Case outside of switch :漏掉了case 语句
37.Case syntax error :Case 语法错误
38.Code has no effect :代码不可述不可能执行到