Turbo C 2.0常见错误
Turbo C 2.0编译器能查出程序的三类错误:致命错误、一般错误和警告。
?致命错误
通常是内部编译出错,一般很少发生。发生致命错误时,编译立即停止,用户必须采取一些适当措施,并重新编译。
?一般错误
指程序的语法错误、磁盘或内存存取错误或命令行错误等。发生一般错误时,编译程序仍将完成本次编译,尽可能多地发现语法错误,然后停止。
?警告
指出一些值得怀疑的情况,而这些情况本身可以成为源程序的一部分。发出警告信息时,编译
程序将继续进行编译。另外,警告信息并不阻止程序的执行。
编译程序首先输出错误类型,然后输出源文件名、出错位置(行号)和错误信息。下面按字母顺序,分别列出一般错误和警告。对每一条信息,将提供产生的可能原因和纠错方法。
1.一般错误
?#operator not followed by macro argument name(在宏定义中,#后未跟宏变量名)
?‘XXX’not an argument(“XXX”不是函数参数)
?Ambiguous symbol ‘XXX’(不明确的符号“XXX”)
?Argument #missing name(参数#名丢失:若使用函数原型应包含所有参数)
?Argument list syntaxerror(参数表语法错误:参数间要用逗号分开)
?Array bounds missing(丢失数组界限符)
?Array size too large(数组长度太大:可用的内存不够)
?Assembler statement too long(汇编语句太长:不能超过480字节)
?Bad character in parameters(参数中有不适当的字符)
?Bad configuration file(配置文件不正确:配置文件命令选择项必须以一短划线(-)开始)
?Bad ifdef/ifndef/undef directive syntax(ifdef/ifndef/undef指令语法错)
?Bad file name format in include directive(包含命令中文件名格式不正确)
?Bad file size syntax(位段长度语法错:位段的长度必须是l—16的常量表达式)
?Call of non-function(调用未定义的函数)
?Cannot modify a const object(不允许修改常量对象)
?Case outside of switch(漏掉了case语句:通常由括号不匹配引起)
?Case statement missing(case语句出错:可能丢失了冒号)
?Case syntax error(case语法错误)
?Character too long(字符常量太长:只能是1个字符或转义字符)
?Compound statement missing(复合语句丢失:通常是花括号不匹配)
?Conflicting type modifiers(不明确的类型修饰符)
?Constant expression required(要求常量表达式:如数组的大小须是常量表达式)
?Conversion of near pointer not allowed(不允许转换近指针)
?Could not find file‘XXX’(找不到“XXX”文件)
?Declaration missing ;(说明中丢失分号)
?Declaration needs type or storage class(说明中需要数据类型或存储类型)
?Declaration syntax error(说明中语法错)
?Default outside of switch(default子句出现在switch外)
?Define directive needs an identifier(#define指令需要一个标识符)
?Division by zero(除数为0)
?Do statement must have whi,le(do语句必须要有while)
?Do-while statement missing {(do-while语句缺左括号)
?Do-while statement missing }(do-while语句缺右括号)
?Do-while statement missing ;(do-while语句缺少分号)
?Duplicate Case(case情况不惟一:须有一个惟一的常量表达式)
?Enum syntax error(Enum类型语法错)
?Enumeration constant syntax error(枚举常量语法错)
?Error directive:XXX(错误指令:XXX)
?Error writing output file(写输出文件错:一般由磁盘空间不够造成)
?Expreesion syntax error(表达式语法错)
?Extra parameter in call(调用时出现多余参数)
?Extra parameter in call to XXX(调用函数XXX时出现多余参数)
?File name too long(文件名太长)
?For statement missing ((for语句缺左括号)
?For statement missing )(for语句缺右括号)
?For statement missing;(fo