C++错误综合介绍.ppt_第1页
C++错误综合介绍.ppt_第2页
C++错误综合介绍.ppt_第3页
C++错误综合介绍.ppt_第4页
C++错误综合介绍.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C+错误综合介绍,掌握自己找错改错的方法,class CForm private: char title40; int width; int height; public: CForm() strcpy(title,Form1); widht = 400; height = 350; ,1.使用未经定义过的标识符的错误,-Configuration: 错误综合练习 - Win32 Debug- Compiling. Demo.cpp e:课件c+09c+错误综合练习form.h(11) : error C2065: strcpy : undeclared identifier e:课件c+09

2、c+错误综合练习form.h(12) : error C2065: widht : undeclared identifier 执行 cl.exe 时出错. 错误综合练习.exe - 1 error(s), 0 warning(s),Compiling 编译 Error 错误 Warning 警告 Underclared 没有定义/声明 Identifier 标识符,错误认识,这是一个在编译期间发现的语法性错误,错误报告了中出现了两个错误点,它们的内容都是: undeclared identifier “没有定义过的标识符”,错误认识,这是一个在编译期间发现的语法性错误,错误报告了中出现了两个

3、错误点,它们的内容都是: undeclared identifier “没有定义过的标识符”,改错提示,在程序中找到错误的位置和错误的标识符,看该标识符有没有被定义过。如果有,则一般是因为同学标识符的使用名与定义时的名称不一致,要特别注意大小写,#include #include class CForm private: char title40; int width; int height; public: CForm() strcpy(title,Form1) width = 400; height = 350; ,2.语句没有使用; 结束的错误,-Configuration: 错误综合练

4、习 - Win32 Debug- Compiling. Demo.cpp e:课件c+09c+错误综合练习form.h(14) : error C2146: syntax error : missing ; before identifier width 执行 cl.exe 时出错. 错误综合练习.exe - 1 error(s), 0 warning(s),syntax 句法 missing 缺少,丢失,错误认识,错误认识,这是一个在编译期间发现的语句错误,错误报告了中出现了1个错误点,它们的内容是: syntax error : missing ; before identifier wi

5、dth “在标识符widht前面缺少;”,改错提示,在程序中找到错误的位置,一般错误并不是在这个位置所在的行,而是在该行前面一行的末尾处缺少;,#include #include class CForm private: char title40; int width; int height; public: CForm() strcpy(title,”Form1”); width = 400; height = 350; ,3.非法(无法理解的)字符错误,-Configuration: 错误综合练习 - Win32 Debug- Compiling. Demo.cpp e:课件c+09c+错

6、误综合练习form.h(13) : error C2018: unknown character 0 xa1 e:课件c+09c+错误综合练习form.h(13) : error C2018: unknown character 0 xb1 e:课件c+09c+错误综合练习form.h(13) : error C2018: unknown character 0 xa3 e:课件c+09c+错误综合练习form.h(13) : error C2018: unknown character 0 xbb 执行 cl.exe 时出错. 错误综合练习.exe - 1 error(s), 0 warni

7、ng(s),unknown 无法知道的、看不懂的 character 字符,错误认识,错误认识,这是一个在编译期间发现的错误,错误内容是: error C2018: unknown character 0 xa1 “无法理解的字符0 xa1” 错误提示在程序当前位置有非法的字符,比如:中文字符对于程序来说就属于非法字符,改错提示,在程序中找到错误的位置,把中文的字符改为英文字符,特别要主要中文的“”和;的误写或缺失。,#include #include class CForm private: char title40; int width; int height; public: CForm

8、() strcpy(title,Form1); width = 400; height = 350;,4.没有结束块的语法错误,-Configuration: 错误综合练习 - Win32 Debug- Compiling. Demo.cpp E:课件c+09c+错误综合练习Demo.cpp(7) : fatal error C1004: unexpected end of file found 执行 cl.exe 时出错. 错误综合练习.exe - 1 error(s), 0 warning(s),fatal 致命的 unexpected 未终止的 end of file 文件的末尾 Fou

9、nd 发现,错误认识,错误认识,这是一个在编译期间发现的致命错误,错误内容是: fatal error C1004: unexpected end of file found “在文件末尾发现为终止的意外” 通常是 不成对,特别是没有结束 ,改错提示,这个错误的位置很难判断,需要程序员耐心仔细的一个一个块对进行查找。因此,如果保持比较良好的程序编写习惯是找出这一问题的捷径。,#include #include Form.h void mian() ,5.没有main()的链接时错误,或者根本没有,-Configuration: 错误综合练习 - Win32 Debug- Compiling.

10、Demo.cpp Linking. LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main Debug/错误综合练习.exe : fatal error LNK1120: 1 unresolved externals 执行 link.exe 时出错. 错误综合练习.exe - 1 error(s), 0 warning(s),这个问题的英语翻译不够准确,因此,学员们可以记住这个symbol_main的单词组合,它只有一种错误的可能 Linking 链接 symbol_main main符号,错误认识,错误认识,

11、这是一个在编译过后的链接过程中发现的错误,错误内容是: unresolved external symbol _main Debug/错误综合练习.exe : fatal error LNK1120: 1 unresolved externals “在链接的XXX.exe文件中出现的关于main符号的未确定的外部错误” 通常是main()的单词写错了,或根本没有,改错提示,只要看看main有没有写对就可以了,注意main是函数,要写成: main() ,6.拥有超过一个以上main()的错误,-Configuration: 错误综合练习 - Win32 Debug- Compiling. De

12、mo.cpp Linking. Demo2.obj : error LNK2005: _main already defined in Demo.obj Debug/错误综合练习.exe : fatal error LNK1169: one or more multiply defined symbols found 执行 link.exe 时出错. 错误综合练习.exe - 1 error(s), 0 warning(s),already 已经 defined 被定义过 multiply 多次,错误认识,错误认识,这是一个在编译过后的链接过程中发现的错误,错误内容是: Demo2.obj :

13、 error LNK2005: _main already defined in Demo.obj Debug/ 错误综合练习.exe : fatal error LNK1169: one or more multiply defined “_main已经在Demo.obj中被定义过了,链接的时候出现了超过一个以上的定义” 通常是一个工程中出现了多个main(),改错提示,只保留一个main(),#include #include Form.h void main() CForm form1; form1.SetTitle(); form1.SetSize(500); ,7.调用函数时出现的错

14、误,请对着类中成员函数定义时的参数类型和个数,-Configuration: 错误综合练习 - Win32 Debug- Compiling. Demo.cpp E:课件c+09c+错误综合练习Demo.cpp(7) : error C2039: SetTile : is not a member of CForm e:课件c+09c+错误综合练习form.h(4) : see declaration of CForm E:课件c+09c+错误综合练习Demo.cpp(8) : error C2660: SetSize : function does not take 1 parameters

15、 执行 cl.exe 时出错. 错误综合练习.exe - 1 error(s), 0 warning(s),member 成员,一般指成员属性或成员函数 declaration 定义,一般指类或函数的结构定义 function 函数 parameters 参数,错误认识,错误认识,E:课件c+09c+错误综合练习Demo.cpp(7) : error C2039: SetTile : is not a member of CForm e:课件c+09c+错误综合练习form.h(4) : see declaration of CForm E:课件c+09c+错误综合练习Demo.cpp(8)

16、: error C2660: SetSize : function does not take 1 parameters SetTile不是一个CForm类的成员,请查看一下CForm类的定义。 SetSize函数不能够只给出一个参数,改错提示,严格按照函数定义来进行调用,一定保证正确的函数名和正确的参数的类型、个数和参数的顺序。,#include #include Form.h void main() CForm form1; form1.SetTitle(My Form); form1.SetSize(500,350); form1.width = 400; ,8.不能访问成员时的错误,访

17、问了类的私有成员,-Configuration: 错误综合练习 - Win32 Debug- Compiling. Demo.cpp E:课件c+09c+错误综合练习Demo.cpp(9) : error C2248: width : cannot access private member declared in class CForm e:课件c+09c+错误综合练习form.h(7) : see declaration of width 执行 cl.exe 时出错. 错误综合练习.exe - 1 error(s), 0 warning(s),access 访问,使用,错误认识,错误认识,

18、error C2248: width : cannot access private member declared in class CForm e:课件c+09c+错误综合练习form.h(7) : see declaration of width 不能访问在CForm类定义的私有成员width。 请看关于width的定义,改错提示,如果你不想在类中把这个成员定义为public类型的话,那么就定义个public类型的成员方法来访问这width吧,#include #include Form.h void main() CForm form1; form1.SetTitle(My Form)

19、; form1.SetSize(500,350); CForm form1; ,9.不能访问成员时的错误,Form1这个标识符被重复定义了。类似的还有 for(int i=0;i10;i+) for(int i=0;i5;i+) ,-Configuration: 错误综合练习 - Win32 Debug- Compiling. Demo.cpp E:课件c+09c+错误综合练习Demo.cpp(10) : error C2086: form1 : redefinition 执行 cl.exe 时出错. 错误综合练习.exe - 1 error(s), 0 warning(s),redefini

20、tion 重复定义,错误认识,错误认识,error C2086: form1 : redefinition form1被重复定义了,改错提示,把除第一个以外的form1换个名字即可。,警告,警告是不影响程序运行的一种提醒。 以下我们介绍两种无关紧要的警告。,#include #include Form.h void main() int a,b,c; float f1,f2; f1 = 20.5; f2 = 38.6; ,10.没有使用过的变量和为float类型变量赋予double类型的值,末尾没有f的小数常量都是属于double类型的,-Configuration: 错误综合练习 - Win32 Debug- Compiling. Demo.cpp E:课件c+09c+错误综合练习Demo.cpp(11) : warning C4305: = : truncation from const d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论