admin 管理员组

文章数量: 887021


2023年12月16日发(作者:后端开发年终述职)

C语言 编译错误信息提示

1.Array bounds missing

数组的界限“]”丢失。在源文件中定义了一个数组,但此数组没有以右方括号结束。

2.Array size too large

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

3.Bad configuration file

配置文件不正确。配置文件中包含不是合适命令行选择项的非注解文字。配置文件命令选择项必须以一短横线(-)开始。

4.Bad file name format in include directive

使用include指令时,文件名格式不正确。Include文件名必须用引号(“filename.h”)或尖括号()括起来,否则将产生此类错误。如果使用了宏,则产生的扩展正文也不正(因为无引号)。

5.Cannot modify a const object

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

6.Case outside of switch

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

7.Case statement missing

Case语句漏掉。Case语句必须包含一以冒号终结的常量表达式。可能的原因是丢了冒号或在冒号前多了别的符号。

8.Case syntax error

Case语法错误。Case中包含了一些不正确的符号。

9.Character constant too long

字符常量太长。字符常量只能是一个或两个字符长。

10.Compound statement missing

复合语句漏掉了大括号“}”,编译程序扫描到源文件末时,未发现结束大括号,通常是由于大括号不匹配造成的。

11.Could not find ‘’

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

12.Declaration missing

说明漏掉‘;’。在源文件中包含了一个struct或union域声明,但后面漏掉了分号(;)。

13.Division by Zero

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

14.Do statement must have while

Do语句中必须有while.源文件中包含一个无while关键字的do语句时,出现此类错误。

15.Do-while statement missing (

Do-while语句中漏掉了“(”。在do语句中,编译程序发现while关键字后无左括号。

16.Do-while statement missing )

Do-while语句中漏掉了“)”。在do语句中,编译程序发现条件表达式后无右括号。

17.Do-while statement missing;

Do-while语句中漏掉了分号。在do语句中的条件表达式中,编译程序发现右括号后面

无分号。

18.For statement missing (

For语句漏掉“(”。编译程序发现在for关键字后缺少左括号。

19.For statement missing )

For语句缺少“)”。在for语句中,编译程序发现在控制表达式后缺少右括号。

20.For statement missing ;

For语句缺少“;”。在for语句中,编译程序发现在某个表达式后缺少分号。

21.If statement missing (

If语句缺少“(”。在if语句中,编译程序发现if关键字后面缺少左括号。

22.If statement missing )

If语句缺少“)”。在if语句中,编译程序发现测试表达式后缺少右括号。

23.Illegal character’)’(0xxx)

非法字符‘(’(0xxx)。编译程序发现输入文件中有一些非法字符。以十六进制方式打印该字符。

24.Illegal pointer subtraction

非法指针相减。这是由于试图以一个非指针变量减去一个指针变量而造成。

25.Illegal structure operation

非法结构操作。结构只能使用(.)、取地址(&)和赋值(=)操作符,或作为函数的参数传递。当编译程序发现结构使用了其他操作符时,出现此类错误。

26.Illegal use of floating point

浮点运算非法。浮点运算操作数不允许出现在移位、按位逻辑操作、条件(?:),间接引用(*)以及其他一些操作符中。编译程序发现上述操作符中使用了浮点操作数时,出现此类错误。

27.Illegal use of pointer

指针使用非法。指针只能在加、减、赋值、比较、间接引用(*)或箭头(→)操作中使用。如用其他操作符,则出现此类错误。

28.Invalid indirection

无效的间接运算。间接运算操作符(*)要求非void指针作为操作分量。

29.Invalid pointer addition

无效的指针相加。源程序中试图把两个指针相加。

30.Invalid use of arrow

箭头使用错。在箭头(→)操作符后必须跟一标识符。

31.Invalid use of dot

点(.)操作符使用错。在点(.)操作符后必须跟随一标识符。

32.Lvalue repuired

赋值请求。赋值操作符的左边必须是一个地址表达式,包括数值变量、指针变量、结构引用域、间接指针和数组分量。

33.Mismatch number of parameters in definition

定义中参数个数不匹配。定义中的参数和函数原型中提供的信息不匹配。

34.Misplaced break

Break位置错误。编辑程序发现break语句在switch语句或循环结构外。

35.Misplaced continue

Continue位置错误。编译程序发现continue语句在循环结构外。

36.Misplaced else

Else位置错误。编译程序发现else语句缺少与之相匹配的if语句。此类错误的产生,除了由于else多余外,还有可能是由于有多余的分号、漏写了大括号或前面的if语句出现语法错误而引起。

37.Out of memory

内存不够。所有工作内存用完,应把文件放到一台有较大内存的机器去执行或简化源程序。此类错误也往往出现在集成开发环境中运行大的程序,这时可退出集成开发环境,再运行你自己的程序。

38.Size of structure or array not known

结构或数组大小不定。有些表达式(如sizeof或存储说明)中出现一个未定义的结构或一个空长度数组。如果结构长度不需要,在定义之前就可引用;如果数组不申请存储空间或者初始化时给定了长度,那么就可定义为空长。

39.Statemeng missing ;

语句缺少(;)。编译程序发现一表达式语句后面没有分号。

Unable to creat output file’’。当工作软盘已满或有写保护时产生此类错误。如果软盘已满,删除一些不必要的文件后重新编译;如果软盘有写保护,把源文件移到一个可写的软盘上关重新编译。

40.Unable to open input file ‘’

不能打开包含文件‘’。当编译程序找不到源文件时出现此类错误。检查文件名是否拼错或检查对应的软盘或目录中是否有些文件。

41.Undefined symbol’xxxxxxxx’

符号‘xxxxxxxx’未定义。标识符无定义,可能是由于说明或引用处有拼写错误,也可能是由于标识符说明错误引起。

42.User break

用户中断。在集成环境里进行编辑或连接时用户按了Ctrl+break键。

43.‘xxxxxxxx’declared but never used

说时了’xxxxxxxx’但未使用。在源文件中说明了此变量,但没有使用。当编译程序遇到复合语句或函数的结束处时,发出此警告。

44.‘xxxxxxxx’is assigned a value which is never used

‘xxxxxxxx’被赋值,没有使此变量出现在一个赋值语句中,但直到函数结束都未被用过。

45.Function should return a value

函数应该返回一个值。源文件中说明的当前函数的返回数型既非int型也非void型,但编译程序未发现返回值。返回int型的函数可以不说明,因为在老版本的C语言中,没有void类型来指出函数不返回值。

46.No declaration for function ‘xxxxxxxx’

函数’xxxxxxxx’没有说明。当“说明请求”警告可用,而又调用了一个没有预先说明的函数时发出此警告。函数说明可以是传统的,也可以是现代的风格。

47.Parameter’xxxxxxxx’is never used

参数’xxxxxxxx’没有使用。函数说明中的某参数在函数体里从未使用,这不一定是一个错误,通常是由于参数名拼写错误而引起。如果在函数体内,该标识符被重新定义为一个自动(局部)变量,也将出现此类警告。

48.Possible use of ‘xxxxxxxx’before definition

在定义‘xxxxxxxx’之前可能已使用。源文件的某一表达式中使用了未经赋值的变量,编译程序对源文件进行简单扫描以确定此条件。如果该变量出现的物理位置在对它赋值之前,便会产生此警告,当然程序的实际流程可能在使用前已赋值。

49.Possible incorrect assignment

可能的不正确赋值。当编译程序遇到赋值操作符作为条件表达式(如if,while或do-while语句的一部分)的主操作符时,发出警告,通常是由于把赋值号当作符号使用了,如果希望禁止此警告,可把赋值语句用括号括起,并且把它与零作显式比较,如:if(a=b)„„应写为:if((a=b)!=0)„„

50.void function may not return a value

void函数不可以返回值,源文件中的当前函数说明为void,但编译程序发现一个带值的返回语句,该返回语句的值将被忽略。


本文标签: 语句 编译程序 发现 函数