四时宝库

程序员的知识宝库

小白最常见的78个编译错误及分析(一)

所谓编译错误就是我们平常所说的bug。对于初级程序员来说,bug是常伴身边的,不夸张地说,写代码和改bug耗费的时间是一样的。而看完此系列文章后,便能读懂这些英文编译错误,有针对性地修改程序,大大缩短改bug的时间,从而省出更多时间学习新知识。

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 include file: 'xxx': No such file ordirectory

中文对照:(编译错误)无法打开头文件xxx:没有这个文件或路径

分析:头文件不存在、或者头文件拼写错误、或者文件为只读

4 fatal error C1903: unable to recover from previous error(s); stoppingcompilation

中文对照:(编译错误)无法从之前的错误中恢复,停止编译

分析:引起错误的原因很多,建议先修改之前的错误

5 error C2001: newline in constant

中文对照:(编译错误)常量中创建新行

分析:字符串常量多行书写

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

分析:宏定义时宏名与替换串之间应有空格,例如“#define TRUE"1"”

喜欢的话关注收藏评论转发一波 比心么么哒!加入我们C语言C++学习交流 壹 496926338群内有大量的项目开发和新手教学视频千人大群等着你来加入。

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 C2014: preprocessor command must start as first nonwhite space

中文对照:(编译错误)预处理命令前面只允许空格

分析:每一条预处理命令都应独占一行,不应出现其他非空格字符

12 error C2015: too many characters in constant

中文对照:(编译错误)常量中包含多个字符

分析:字符型常量的单引号中只能有一个字符,或是以“\”开始的一个转义字符,例如“charerror = 'error';”

13 error C2017: illegal escape sequence

中文对照:(编译错误)转义字符非法

分析:一般是转义字符位于 ' ' 或 "" 之外,例如“char error = ' '\n;”

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接