所谓编译错误就是我们平常所说的bug。对于初级程序员来说,bug是常伴身边的,不夸张地说,写代码和改bug耗费的时间是一样的。而看完此系列文章后,便能读懂这些英文编译错误,有针对性地修改程序,大大缩短改bug的时间,从而省出更多时间学习新知识。
此篇文章是系列文章的第三篇,黑马程序员C/C++学院将承接第二篇继续为大家分享常见编译错误及分析(53~78):
53 error C2466: cannot allocate an array of constant size 0 中文对照:(编译错误)不能分配长度为0的数组 分析:一般是定义数组时数组长度为0
54 error C2601: 'xxx' : local function definitions are illegal 中文对照:(编译错误)函数xxx定义非法 分析:一般是在一个函数的函数体中定义另一个函数
55 error C2632: 'type1' followed by 'type2' is illegal 中文对照:(编译错误)类型1后紧接着类型2,这是非法的 分析:例如“int float i;”语句
56 error C2660: 'xxx' : function does not take n parameters 中文对照:(编译错误)函数xxx不能带n个参数 分析:调用函数时实参个数不对,例如“sin(x,y);”
57 error C2664: 'xxx' : cannot convert parameter n from 'type1' to 'type2' 中文对照:(编译错误)函数xxx不能将第n个参数从类型1转换为类型2 分析:一般是函数调用时实参与形参类型不一致
58 error C2676: binary '<<' : 'class istream_withassign' does not define this operator or a conversion to a type acceptable to the predefined operatorerror C2676: binary '>>' : 'class ostream_withassign' does not define this operator or a conversion to a type acceptable to the predefined operator 分析:“>>”、“<<”运算符使用错误,例如“cin<<x;cout>>y;”
59 error C4716: 'xxx' : must return a value 中文对照:(编译错误)函数xxx必须返回一个值 分析:仅当函数类型为void时,才能使用没有返回值的返回命令。
60 fatal error LNK1104: cannot open file "Debug/Cpp1.exe" 中文对照:(链接错误)无法打开文件Debug/Cpp1.exe 分析:重新编译链接
61 fatal error LNK1168: cannot open Debug/Cpp1.exe for writing 中文对照:(链接错误)不能打开Debug/Cpp1.exe文件,以改写内容。 分析:一般是Cpp1.exe还在运行,未关闭
62 fatal error LNK1169: one or more multiply defined symbols found 中文对照:(链接错误)出现一个或更多的多重定义符号。 分析:一般与error LNK2005一同出现
63 error LNK2001: unresolved external symbol _main 中文对照:(链接错误)未处理的外部标识main 分析:一般是main拼写错误,例如“void mian()”
64 error LNK2005: _main already defined in Cpp1.obj 中文对照:(链接错误)main函数已经在Cpp1.obj文件中定义 分析:未关闭上一程序的工作空间,导致出现多个main函数
本篇文章为系列文章的第三篇,也是最后一篇。这些都是“前车之鉴”,大家不要重蹈覆辙,要站在巨人的肩膀上,提高自己的编程效率。希望大家看完此系列文章后都能有所收获。
|