黑马程序员C语言教程:C语言78个常见编译错误及分析

上传人:tia****nde 文档编号:36889930 上传时间:2018-04-04 格式:DOC 页数:8 大小:78.50KB
返回 下载 相关 举报
黑马程序员C语言教程:C语言78个常见编译错误及分析_第1页
第1页 / 共8页
黑马程序员C语言教程:C语言78个常见编译错误及分析_第2页
第2页 / 共8页
黑马程序员C语言教程:C语言78个常见编译错误及分析_第3页
第3页 / 共8页
黑马程序员C语言教程:C语言78个常见编译错误及分析_第4页
第4页 / 共8页
黑马程序员C语言教程:C语言78个常见编译错误及分析_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《黑马程序员C语言教程:C语言78个常见编译错误及分析》由会员分享,可在线阅读,更多相关《黑马程序员C语言教程:C语言78个常见编译错误及分析(8页珍藏版)》请在金锄头文库上搜索。

1、C 语言常见编译错误及分析大全语言常见编译错误及分析大全1 fatal error C1003: error count exceeds number; stopping compilation 中文对照:(编译错误)错误太多,停止编译 分析:修改之前的错误,再次编译 2 fatal error C1004: unexpected end of file found 中文对照:(编译错误)文件未结束 分析:一个函数或者一个结构定义缺少“”、或者在一个函数调用或表达式中括号没有配对 出现、或者注释符“/*/”不完整等 3 fatal error C1083: Cannot open includ

2、e file: xxx: No such file or directory 中文对照:(编译错误)无法打开头文件xxx:没有这个文件或路径 分析:头文件不存在、或者头文件拼写错误、或者文件为只读 4 fatal error C1903: unable to recover from previous error(s); stopping compilation 中文对照:(编译错误)无法从之前的错误中恢复,停止编译 分析:引起错误的原因很多,建议先修改之前的错误 5 error C2001: newline in constant 中文对照:(编译错误)常量中创建新行 分析:字符串常量多行书

3、写 6 error C2006: #include expected a filename, found identifier 中文对照:(编译错误)#include命令中需要文件名 分析:一般是头文件未用一对双引号或尖括号括起来,例如“#include stdio.h” 7 error C2007: #define syntax 中文对照:(编译错误)#define语法错误 分析:例如“#define”后缺少宏名,例如“#define”8 error C2008: xxx : unexpected in macro definition 中文对照:(编译错误)宏定义时出现了意外的xxx 分析

4、:宏定义时宏名与替换串之间应有空格,例如“#define TRUE“1“” 9 error C2009: reuse of macro formal identifier 中文对照:(编译错误)带参宏的形式参数重复使用 分析:宏定义如有参数不能重名,例如“#define s(a,a) (a*a)”中参数a重复10 error C2010: character : unexpected in macro formal parameter list 中文对照:(编译错误)带参宏的形式参数表中出现未知字符 分析:例如“#define s(r|) r*r”中参数多了一个字符| 11 error C20

5、14: preprocessor command must start as first nonwhite space 中文对照:(编译错误)预处理命令前面只允许空格 分析:每一条预处理命令都应独占一行,不应出现其他非空格字符1212 errorerror C2015:C2015: tootoo manymany characterscharacters inin constantconstant 中文对照:(编译错误)常量中包含多个字符 分析:字符型常量的单引号中只能有一个字符,或是以“”开始的一个转义字符,例如“char error = error;” 1313 errorerror C2

6、017:C2017: illegalillegal escapeescape sequencesequence 中文对照:(编译错误)转义字符非法 分析:一般是转义字符位于 或 “ “ 之外,例如“char error = n;” 1414 errorerror C2018:C2018: unknownunknown charactercharacter 0xhh0xhh 中文对照:(编译错误)未知的字符0xhh 分析:一般是输入了中文标点符号,例如“char error = E;”中“;”为中文标点符 号 1515 errorerror C2019:C2019: expectedexpect

7、ed preprocessorpreprocessor directive,directive, foundfound charactercharacter 中文对照:(编译错误)期待预处理命令,但有无效字符 分析:一般是预处理命令的#号后误输入其他无效字符,例如“#!define TRUE 1” 1616 errorerror C2021:C2021: expectedexpected exponentexponent value,value, notnot charactercharacter 中文对照:(编译错误)期待指数值,不能是字符 分析:一般是浮点数的指数表示形式有误,例如123.

8、456E 1717 errorerror C2039:C2039: identifier1identifier1 : : isis notnot a a membermember ofof identifier2identifier2 中文对照:(编译错误)标识符1不是标识符2的成员 分析:程序错误地调用或引用结构体、共用体、类的成员 1818 errorerror C2041:C2041: illegalillegal digitdigit xx forfor basebase nn 中文对照:(编译错误)对于n进制来说数字x非法 分析:一般是八进制或十六进制数表示错误,例如“int i =

9、 081;”语句中数字8不是 八进制的基数 1919 errorerror C2048:C2048: moremore thanthan oneone defaultdefault 中文对照:(编译错误)default语句多于一个 分析:switch语句中只能有一个default,删去多余的default2020 errorerror C2050:C2050: switchswitch expressionexpression notnot integralintegral 中文对照:(编译错误)switch表达式不是整型的 分析:switch表达式必须是整型(或字符型),例如“switch

10、(“a“)”中表达式为字符串, 这是非法的 2121 errorerror C2051:C2051: casecase expressionexpression notnot constantconstant 中文对照:(编译错误)case表达式不是常量 分析:case表达式应为常量表达式,例如“case “a“”中“a“”为字符串,这是非法的2222 errorerror C2052:C2052: typetype : : illegalillegal typetype forfor casecase expressionexpression 中文对照:(编译错误)case表达式类型非法 分

11、析:case表达式必须是一个整型常量(包括字符型) 2323 errorerror C2057:C2057: expectedexpected constantconstant expressionexpression 中文对照:(编译错误)期待常量表达式分析:一般是定义数组时数组长度为变量,例如“int n=10; int an;”中n为变量,这 是非法的 2424 errorerror C2058:C2058: constantconstant expressionexpression isis notnot integralintegral 中文对照:(编译错误)常量表达式不是整数 分析

12、:一般是定义数组时数组长度不是整型常量 2525 errorerror C2059:C2059: syntaxsyntax errorerror : : xxxxxx 中文对照:(编译错误)xxx语法错误 分析:引起错误的原因很多,可能多加或少加了符号xxx 2626 errorerror C2064:C2064: termterm doesdoes notnot evaluateevaluate toto a a functionfunction 中文对照:(编译错误)无法识别函数语言 分析:1、函数参数有误,表达式可能不正确,例如“sqrt(s(s-a)(s-b)(s-c);”中表达 式不

13、正确 2、变量与函数重名或该标识符不是函数,例如“int i,j; j=i();”中i不是函 数 2727 errorerror C2065:C2065: xxxxxx : : undeclaredundeclared identifieridentifier 中文对照:(编译错误)未定义的标识符xxx 分析:1、如果xxx为cout、cin、scanf、printf、sqrt等,则程序中包含头文件有误 2、 未定义变量、数组、函数原型等,注意拼写错误或区分大小写。2828 errorerror C2078:C2078: tootoo manymany initializersinitiali

14、zers 中文对照:(编译错误)初始值过多 分析:一般是数组初始化时初始值的个数大于数组长度,例如“int b2=1,2,3;”2929 errorerror C2082:C2082: redefinitionredefinition ofof formalformal parameterparameter xxxxxx 中文对照:(编译错误)重复定义形式参数xxx 分析:函数首部中的形式参数不能在函数体中再次被定义 3030 errorerror C2084:C2084: functionfunction xxxxxx alreadyalready hashas a a bodybody 中

15、文对照:(编译错误)已定义函数xxx 分析:在VC+早期版本中函数不能重名,6.0版本中支持函数的重载,函数名可以相同但参 数不一样 3131 errorerror C2086:C2086: xxxxxx : : redefinitionredefinition 中文对照:(编译错误)标识符xxx重定义 分析:变量名、数组名重名 3232 errorerror C2087:C2087: : : missingmissing subscriptsubscript 中文对照:(编译错误)下标未知 分析:一般是定义二维数组时未指定第二维的长度,例如“int a3;”3333 errorerror C2100:C2100: illegalillegal indirectionindirection 中文对照:(编译错误)非法的间接访问运算符“*” 分析:对非指针变量使用“*”运算 3434 errorerror C2105:C2105: operatoroperator needsneeds l-valuel-value 中文对照:(编译错误)操作符需要

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号