C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。下面是小编分享的C/C++编译器错误消息大全,一起来看一下吧。

  编译器错误 C2001 错误消息

  常数中有换行符

  字符串常数不能继续到第二行,除非进行下列操作:

  ?用反斜杠结束第一行。

  ?用一个双引号结束第一行上的字符串,并在下一行用另一个双引号开始该字符串。

  用结束第一行是不够的。

  编译器错误 C2002 错误消息

  无效的宽字符常数

  多字节字符常数是非法的。

  通过检查下面的可能原因进行修复

  1.宽字符常数包含的字节比需要的多。

  2.未包括标准头文件 STDDEF.h。

  3.宽字符不能与一般字符串连接。

  4.宽字符常数之前必须是字符“L”:

  编译器错误 C2003 错误消息

  应输入“defined id”

  标识符必须跟在预处理器关键字之后。

  编译器错误 C2004 错误消息

  应为“defined(id)”

  标识符必须出现在预处理器关键字之后的括号中。

  也可能由于为 Visual Studio .NET 2003 进行的编译器一致性工作生成此错误:在预处理器指令中缺少括号。

  如果预处理器指令缺少右括号,则编译器将生成一个错误。

  编译器错误 C2005 错误消息

  #line 应跟一个行号,却找到“token”

  #line 指令后面必须跟行号。

  编译器错误 C2006 错误消息

  “directive”应输入文件名,却找到“token”

  诸如 #include 或 #import 等指令需要文件名。若要解决该错误,请确保 token 是一个有效文件名。并且将该文件名放在双引号或尖括号中。

  编译器错误 C2007 错误消息

  #define 语法

  #define 后未出现标识符。若要解决该错误,请使用标识符。

  编译器错误 C2008 错误消息

  “character”: 宏定义中的意外

  该字符紧跟在宏名之后。若要解决该错误,宏名之后必须有一个空格。

  编译器错误 C2009 错误消息

  宏形式“identifier”重复使用

  宏定义的形参表多次使用该标识符。宏的参数列表中的标识符必须是唯一的。

  编译器错误 C2010 错误消息

  “character”: 宏形参表中的意外

  该字符在宏定义的形参表中使用不正确。移除该字符以解决该错误。

  编译器错误 C2011 错误消息

  “identifier”:“type”类型重定义

  该标识符已定义为 type 类型。如果多次将某个类型库导入同一个文件,也可能生成 C2011。

  编译器错误 C2012 错误消息

  在“<”之后缺少名称

  #include 指令缺少所需的文件名。

  编译器错误 C2013 错误消息

  缺少“>”

  #include 指令缺少右尖括号。添加右尖括号以解决该错误。

  编译器错误 C2014 错误消息

  预处理器命令必须作为第一个非空白空间启动

  预处理器指令的 # 符号必须是非空白行上的第一个字符。

  编译器错误 C2015 错误消息

  常数中的字符太多

  一个字符常数包含的字符多于两个。标准字符常数只能包含一个字符,长字符常数只能包含两个字符。

  转义序列(如 )将被转换为单个字符。

  当使用 Microsoft 扩展将字符常数转换为整数时,也可能发生 C2015。

  编译器错误 C2017 错误消息

  非法的转义序列

  转义序列(如 )出现在字符或字符串常数之外。

  当 stringize 运算符与包括转义序列的字符串一起使用时会发生 C2017。

  编译器错误 C2018 错误消息

  未知字符“hexnumber”

  源文件包含一个意外的 ASCII 字符,该字符由其十六进制数标识。若要解决该错误,请移除该字符。

  编译器错误 C2019 错误消息

  应找到预处理器指令,却找到“character”

  该字符跟在 # 符号的后面,但它不是预处理器指令的第一个字母。

  编译器错误 C2020 错误消息

  “member”:“class”成员重定义

  从基类或结构继承的成员被重定义。不能重定义继承成员,除非它在基类中被声明为 virtual。

  编译器错误 C2021 错误消息

  应输入指数值,而非“character”

  用作浮点常数的指数的字符是一个无效数字。确保使用的指数在范围之内。

  编译器错误 C2022 错误消息

  “number”: 对字符来说太大

  字符或字符串常数中跟在反斜杠 () 后面的八进制数字太大,不能表示字符。

  编译器错误 C2026 错误消息

  字符串太大,已截断尾部字符

  该字符串的长度超过了 16380 个单字节字符的**。

  连接相邻字符串之前,字符串的长度不能超过 16380 个单字节字符。

  大约为此长度的一半的 Unicode 字符串也会生成此错误。

  编译器错误 C2027 错误消息

  使用了未定义类型“type”

  类型只有经过定义才能使用。若要解决该错误,请确保在引用类型前已对其进行了完全定义。

  有可能声明一个指向已声明但未定义的类型的指针。但是 Visual C++ 不允许引用未定义的类型。

  编译器错误 C2028 错误消息

  结构/联合成员必须在结构/联合中

  结构或联合成员必须在结构或联合内部声明。

  编译器错误 C2030 错误消息

  “identifier”: 结构/联合成员重定义

  结构或联合将同一标识符用于多个成员。

  编译器错误 C2032 错误消息

  “identifier”: 函数不能是结构/联合“structorunion”的成员

  该结构或联合中的一个成员函数在 C++ 中允许使用而在 C 中却不允许。若要解决该错误,请编译为 C++ 程序或移除该成员函数。

  编译器错误 C2033 错误消息

  “identifier”: 位域不能有间接寻址

  该位域被声明为指针,这是不允许的。

  编译器错误 C2034 错误消息

  “identifier”: 位域类型对于位数太小

  该位域声明中位的数目超过了基类型的大小。

  编译器错误 C2036 错误消息

  “identifier”: 未知的大小

  对 identifier 的操作需要数据对象的大小,而该大小无法确定。

  编译器错误 C2039 错误消息

  “identifier1”: 不是“identifier2”的成员

  该代码错误调用或引用了结构、类或联合的成员。

  编译器错误 C2040 错误消息

  “operator”:“identifier1”与“identifier2”的间接寻址级别不同

  涉及该运算符的表达式具有不一致的间接寻址级别。

  如果两个操作数都是算术的或都是非算术的(如数组或指针),则不用更改就可使用它们。如果一个操作数是算术的,而另一个不是,则算术运算符将转换为非算术类型。

  编译器错误 C2041 错误消息

  非法的数字“character”(用于基“number”)

  指定的字符不是基(如八进制或十六进制)的有效数字。

  编译器错误 C2042 错误消息

  signed/unsigned 关键字互相排斥

  在单个声明中使用关键字 signed 和 unsigned。

  编译器错误 C2043 错误消息

  非法 break

  break 仅在 do、for、while 或 switch 语句中合法。

  编译器错误 C2044 错误消息

  非法 continue

  continue 仅在 do、for 或 while 语句中合法。

  编译器错误 C2045 错误消息

  “identifier”: 标签重定义

  该标签出现在同一函数中的多条语句之前。

  编译器错误 C2046 错误消息

  非法的 case

  关键字 case 只能出现在 switch 语句中。

  编译器错误 C2047 错误消息

  非法的 default

  关键字 default 仅能出现在 switch 语句中。

  编译器错误 C2048 错误消息

  默认值多于一个

  switch 语句包含多个 default 标签。删除其中一个 default 标签可解决该错误。

  编译器错误 C2050 错误消息

  switch 表达式不是整型

  switch 表达式计算结果为一个非整数值。若要解决该错误,请在 switch 语句中只使用整数值。

  编译器错误 C2051 错误消息

  case 表达式不是常数

  Case 表达式必须是整数常数。

  编译器错误 C2052 错误消息

  “type”: 非法的 case 表达式类型

  Case 表达式必须是整数常数。

  编译器错误 C2053 错误消息

  “identifier”: 宽字符串不匹配

  宽字符串被分配给了一个不兼容的类型。

  编译器错误 C2054 错误消息

  在“identifier”之后应输入“(”

  该函数标识符用在需要尾部括号的上下文中。

  导致该错误的可能原因是省略了复杂初始化上的等号 (=)。

  编译器错误 C2055 错误消息

  应输入形参表,而不是类型表

  函数定义包含参数类型列表而不包含形参表。ANSI C 需要命名的形参,除非它们是 void 或是省略号 (...)。

  编译器错误 C2056 错误消息

  非法表达式

  表达式因前一个错误而无效。

  编译器错误 C2057 错误消息

  应输入常数表达式

  上下文要求常数表达式,即其值在编译时已知的表达式。

  编译器错误 C2058 错误消息

  常数表达式不是整型

  该上下文需要整数常数表达式。

  编译器错误 C2059 错误消息

  语法错误 :“token”

  该标记导致语法错误。

  若要确定原因,则不仅要检查在错误信息中列出的行,还要检查该行上面的行。下面的示例对声明 j 的行生成了错误信息,而该错误的真正源却出现在其上面的行中。

  如果对行的检查没有获得有关可能出现的问题的任何线索,则尝试注释掉在错误信息中列出的行以及可能出现在该行上面的若干行。

  如果该错误信息在紧跟 typedef 变量的符号上出现,则检查该变量是否已在源代码中定义。

  如果符号没有计算出任何结果(在使用 /Dsymbol= 编译时可能发生),可能会导致 C2059。

  可能收到 C2059 的另一个特定原因是编译在函数的默认参数中指定了结构的应用程序。参数的默认值必须是一个表达式。初始值设定项列表(如用于初始化结构的初始值设定项列表)不是表达式。其解决方法是定义一个执行所需初始化的构造函数。

  编译器错误 C2060 错误消息

  语法错误 : 遇到文件结束

  至少还需要一个标记。

  编译器错误 C2061 错误消息

  语法错误: 标识符“identifier”

  编译器发现了不应在此出现的标识符。请确保在使用 identifier 之前对其进行声明。

1.《一般编译器错误 C/C++编译器错误消息大全》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《一般编译器错误 C/C++编译器错误消息大全》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/jiaoyu/76808.html