2022年VC下常见的编译错误与链接错误 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年VC下常见的编译错误与链接错误 .pdf》由会员分享,可在线阅读,更多相关《2022年VC下常见的编译错误与链接错误 .pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、4.1 常见编译错误(1)error C2001: newline in constant 编号: C2001 直译:在常量中出现了换行。错误分析:字符串常量、字符常量中是否有换行。在这句语句中,某个字符串常量的尾部是否漏掉了双引号。在这语句中, 某个字符创常量中是否出现了双引号字符“” ,但是没有使用转义符“ ” 。在这句语句中,某个字符常量的尾部是否漏掉了单引号。是否在某句语句的尾部,或语句的中间误输入了一个单引号或双引号。(2)error C2015: too many characters in constant 编号: C2015 直译:字符常量中的字符太多了。错误分析:单引号表示字
2、符型常量。一般的,单引号中必须有且只能有一个字符( 使用转义符时,转义符所表示的字符当作一个字符看待) ,如果单引号中的字符数多于4个,就会引发这个错误。另外,如果语句中某个字符常量缺少右边的单引号,也会引发这个错误, 例如:if (x = x | x = y) 值得注意的是,如果单引号中的字符数是2-4个,编译不报错,输出结果是这几个字母的 ASC 码作为一个整数 (int ,4B)整体看待的数字。(3)error C2137: empty character constant 编号: C2137 直译:空的字符定义。错误分析:原因是连用了两个单引号,而中间没有任何字符,这是不允许的。(4)
3、error C2018: unknown character 0 x# 编号: C2018 直译:未知字符 0 x# 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 错误分析:0 x#是字符 ASC 码的16进制表示法。 这里说的未知字符, 通常是指全角符号、字母、数字,或者直接输入了汉字。如果全角字符和汉字用双引号包含起来,则成为字符串常量的一部分,是不会引发这个错误的。(5)error C2041: illegal dig
4、it # for base 8 编号: C2141 直译:在八进制中出现了非法的数字#( 这个数字 #通常是 8或者9)。错误分析:如果某个数字常量以 “0”开头( 单纯的数字 0除外),那么编译器会认为这是一个8进制数字。例如: “089” 、 “078” 、 “093”都是非法的,而“ 071”是合法的,等同于是进制中的“ 57” 。(6)error C2065: xxxx : undeclared identifier 编号: C2065 直译:标识符“ xxxx”未定义。错误分析:首先,解释一下什么是标识符。标志符是程序中出现的除关键字之外的词,通常由字母、数字和下划线组成,不能以数字
5、开头,不能与关键字重复,并且区分大小写。变量名、函数名、类名、常量名等等,都是标志符。所有的标志符都必须先定义,后使用。标志符有很多种用途,所以错误也有很多种原因。如果“xxxx”是一个变量名,那么通常是程序员忘记了定义这个变量,或者拼写错误、大小写错误所引起的,所以,首先检查变量名是否正确。( 关联:变量,变量定义 ) 如果“xxxx”是一个函数名,那就怀疑函数名是否没有定义。可能是拼写错误或大小写错误, 当然,也有可能是你所调用的函数根本不存在。还有一种可能,你写的函数在你调用所在的函数之后,而你有没有在调用之前对函数原形进行申明。 (关联:函数申明与定义,函数原型) 如果“ xxxx”是
6、一个库函数的函数名,比如“sqrt ” 、 “fabs ” ,那么看看你在cpp文件已开始是否包含了这些库函数所在的头文件(.h 文件) 。例如,使用“sqrt ”函数需要头文件 math.h。如果“xxxx”就是“cin ”或“cout ” ,那么一般是没有包含“ iostream.h ” 。( 关联: #include ,cin ,cout) 如果“xxxx”是一个类名,那么表示这个类没有定义,可能性依然是:根本没有定义这个类,或者拼写错误,或者大小写错误,或者缺少头文件,或者类的使用在申明之前。 ( 关联:类,类定义 ) 标志符遵循先申明后使用原则。所以,无论是变量、函数名、类名,都必名
7、师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 须先定义,后使用。如使用在前,申明在后,就会引发这个错误。C+ 的作用域也会成为引发这个错误的陷阱。在花括号之内变量,是不能在这个花括号之外使用的。类、函数、if 、do(while) 、for 所引起的花括号都遵循这个规则。 ( 关联:作用域 ) 前面某句语句的错误也可能导致编译器误认为这一句有错。如果你前面的变量定义语句有错误, 编译器在后面的编译中会认为该变量从来没有定义过,以
8、致后面所有使用这个变量的语句都报这个错误。如果函数申明语句有错误, 那么将会引发同样的问题。(7)error C2086: xxxx : redefinition 编号: C2374 直译: “xxxx”重复申明。错误分析:变量“xxxx”在同一作用域中定义了多次。检查“xxxx”的每一次定义,只保留一个,或者更改变量名。(8)error C2374: xxxx : redefinition; multiple initialization 编号: C2374 直译: “xxxx”重复申明,多次初始化。错误分析:变量“ xxxx”在同一作用域中定义了多次,并且进行了多次初始化。检查“xxxx”
![2022年VC下常见的编译错误与链接错误 .pdf_第1页](https://file2.taowenge.com/FileRoot3/2022-7/16/597bc1a0-105a-4f4f-a80d-81c8a7625ff9/597bc1a0-105a-4f4f-a80d-81c8a7625ff91.gif)
![2022年VC下常见的编译错误与链接错误 .pdf_第2页](https://file2.taowenge.com/FileRoot3/2022-7/16/597bc1a0-105a-4f4f-a80d-81c8a7625ff9/597bc1a0-105a-4f4f-a80d-81c8a7625ff92.gif)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年VC下常见的编译错误与链接错误 2022 VC 常见 编译 错误 链接
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内