当前位置:文档之家› c语言错误调试大全

c语言错误调试大全

AAmbiguous operators need parentheses不明确的运算需要用括号括起。

二义性操作符需要括号,但两个移位、关系或按位操作符在一起使用而不加括号时,发现此警告;但一个加法或减法操作符不加括号而与一个移位操作符出现在一起时,也发出此警告。

Ambiguous symbol ''xxx''不明确的符号,二义性符号…xxxxxxxx‟。

两个或多个结构的某一域名相同,但具有的偏移、类型不同。

在变量或表达式中引用该域而未带结构名时,将产生二义性,此时需修改某个域名或在引用时加上结构名。

Argument list syntax error参数表语法错误参数表出现语法错误。

函数调用时,参数与参数之间必须以逗号隔开,并以一右括号结束。

若源文件中含有一个其后不是逗号也不是右括号的参数,则出错。

Argument #missing name参数#名丢失。

参数名已脱离用于定义函数的函数原型,如果函数以原型定义,该函数必须包括所有的参数名。

Array bounds missing丢失数组界限符数组的界限符…]‟丢失。

原因是在源文件中定义了一个数组,但此数组没有以一右方括号结束。

,Array size toolarge数组尺寸太大,数组长度太长。

定义的数组太大,而可用内存不够。

Assembler startement too long汇编语句太长。

内部汇编语句最长不能超过480个字节。

BBad call of in line function内部函数非法调用在使用一个宏定义的内部函数时,没有正确调用。

一个内部函数以下划双线(_)开始和结束。

Bad character in paramenters参数中有不适当的字符Bad configuration file配置文件不正确。

Turboc.cfg配置文件中包含不是合适命令行选择项非注解文字。

配置文件命令选择项必须以一短横线开始。

Bad file name format in include directive包含命令中文件名格式不正确使用include指令时,文件名格式不正确。

include 文件名必须用引号或尖括号括起来。

例如:include "stdio.h"或include <stdio.h>,否则将产生此类错误。

如果使用了宏定义,则生成的扩展正文也不正确(因为无引号)。

Bad ifdef directive synatax编译预处理ifdef有语法错,ifdef指令语法错误。

#ifdef必须包括一个标识符(非其他东西)作为该指令体。

Bad ifndef directive syntaxifndef指令语法错误。

#ifndef必须包含一个标识符(不能是任何其他东西)作为该指令体。

Bad undef directive syntax编译预处理undef有语法错,undef指令语法错误。

#undef指令必须包含一个标识符(不能是任何其他东西)作为该指令体。

Bit field too large位字段太长Bad file size syntax位字段长度语法错误。

一个位字段必须是1 16位的常数表达式。

Both return and return of a value used有相矛盾的return语句。

编译程序发现同时有带值返回和不带值返回的return语句时,发出此警告CCall of non function调用未定义的函数,调用未定义函数。

这是因为正被调用的函数无定义,通常是由于不正确的函数说明或函数名拼错造成的。

Call to function with no prototype调用函数时没有函数的说明。

调用没有给出函数原型的函数。

Call to function …xxx‟with prototype调用没有给出函数原型的…xxx‟函数。

Cannot modify a const object不允许修改常量对象,不能修改一个常量对象。

对定义为常量的对象进行不合法操作(比如对常量赋值)引起此类错误。

Case outside of switch漏掉了case 语句,Case出现在switch外,编译程序发现Case语句出现在switch 语句外面,通常是由于括号不匹配造成的。

Case statement missing …:‟switch结构中的某个case之后缺少冒号。

Case syntax errorCase 语法错误,Case语法错误。

Case中包含了一些不正确的符号。

Character constant too long字符常量太长。

字符常量只能是一个字符长度。

Code has no effect代码不可述不可能执行到。

无效的运算代码。

但编译程序遇到一个包含无效操作符的语句时,就发出此类警告。

Compound statement missing{分程序漏掉"{"Case语句漏掉。

Case语句必须包含一个以冒号终结的常量表达式。

造成的原因可是丢了冒号或在冒号前飞多了别的符号。

复合语句漏掉了大括号“}”。

编译文件扫描到源文件末时,未发现结束大括号,通常是由于大括号不匹配造成的。

Conflicting type modifiers不明确的类型说明符,类型修饰符冲突。

对同一指针,只能制定一种变址修饰符(如near或far);而对于同一函数,也只能给出一种语言修饰符(如cdecl、pascal或interrupt)。

Constant expression required要求常量表达式,要求常量表达式。

因为数组的大小不须是常量,此类错误通常是由于#define常量的拼写出错而造成的。

定义数组时指定的数组长度不是常量表达式。

Constant is long10进制数常量太大,已被当作长整型。

当编译程序遇到一个大于32767的10进制常量,或一个大于65535,而其后没有字母…I‟ 或…L‟的八进制常量时,自动将此常量当作long类型处理。

Constant out of range in comparison在比较中常量超出范围。

常量比较超出了范围。

在源文件中两个常量比较时,其中一个常量超出了另一个常量所允许的范围,即发出此警告。

例如,一个无符号常量跟1比较就没有意义。

为了得到一个大于32767(十进制)的无符号常量,可以在常量前加上unsigned或在常量后面加上字母…u‟或…U‟。

例如(unsigned)65535或65535u。

Conversion may lose significant digits转换时会丢失意义的数字。

转换可能丢失高位数字。

在赋值操作或其他情况下,源程序要求把long或unsigned long类型转变成int或unsigned int类型。

在有些机器上,因为int型和long型变量具有相同长度,这种转换可能改变程序的输出特性。

Conversion of near pointer not allowed不允许转换近指针。

Could not find file ''xxx''找不到XXX文件,找不到'xxxxx.xxx'文件。

编译程序找不到命令行山给出的文件。

DDeclaration missing ;说明缺少";"说明漏掉“;”。

源文件中包含一个struct或union域的说明,但后面漏掉了分号。

Declaration needs type or storage class说明必须给出类型存储类别。

说明必须包含一个类型或一个存储类别。

Declaration syntax error说明中出现语法错误,说明出现语法错误。

原因可能在源文件中,某个说明丢失了一些符号或有多余的符号。

结构体或联合类型的定义后缺少分号。

Declaration was expected缺少说明,通常是因为缺少分界符如逗号、分号、右圆括号等所引起的。

Default outside of switchDefault 出现在switch语句之外,Default在switch外出现。

编译程序发现default 语句出现在switch语句之外,通常是由于括号不匹配造成的。

Define directive needs an identifier定义编译预处理需要标识符,Default指令必须有一个标识符。

#define后面的第一个非空格符必须是一个标识符,若编译程序发现一些其他程序,则出现本错误。

Division by zero用零作除数,除数为零。

源文件的常量表达式中,出现了除数为零的情况。

Do statement must have whileDo while语句中缺少while部分,Do语句中必须有while。

若源文件中包含一个无while关键字的do语句时,将出现此类错误。

Do while statement missing (Do while语句中漏掉了…(‟。

编译程序发现在do语句中while关键字后无左括号。

Do while statement missing )Do while语句中漏掉了…)‟。

编译程序发现在do语句中条件表达式后无右括号。

Do while statement missing ;Do while语句中漏掉了分号…;‟。

在do语句的条件表达式中,编译程序发现右括号后无分号。

Duplicate CaseCase后的常量表达式重复。

switch语句的每一个case行必须有一个唯一的常量表达式值。

EEnum syntax error枚举类型语法错误,Enum语法出现错误。

eunm说明的标识符表的格式不对。

Enumeration constant syntax error枚举常数语法错误,枚举常量语法错误。

赋给enum类型变量的表达式值不为常量。

Error directive :xxx错误的编译预处理命令,Error指令:xxx。

源文件处理#error指令时,显示该指令的信息。

Error writing output file写输出文件错误,写输出文件出现错误。

通常是由于磁盘空间满造成的,尽量删掉一些不必要的文件。

Expression syntax error表达式语法错误,表达式语法错误。

当编译程序分析一个表达式发现有一些严重错误时,出现此类报错信息,通常是由于两个连续操作符,括号不匹配或缺少括号,前一语句漏掉了分号等引起的。

Extra parameter in call调用时出现多余错误,调用时出现多余参数。

调用函数时,其实际参数的个数多余函数定义中的形参的个数。

Extra parameter in call to xxxxxxxx调用xxxxxxxx函数时出现了额外多余的参数。

相关主题