VC++6.0中英文编译错误信息对照表
第三章 VC++ 6.0常见编译错误
第三章 VC++ 6.0常见编译错误[错误类型1]error C2143: syntax error : missing ';' before identifier 'scanf'语法错误:在'scanf'之前缺少“;”出错实例: int nscanf(“%d”, &n);[错误类型2]error C2065: 'A' : undeclared identifier标识符A未声明出错实例:int a;scanf(“%d”, &A);[错误类型3]error C2065: 'sqrt' : undeclared identifier标识符sqrt未定义(原因:未包含<math.h>)[错误类型4]error C2296: '%' : illegal, left operand has type 'float'error C2297: '%' :illegal, right operand has type 'float'非法, '%'运算符的左右操作数不是整型出错实例:float a = 10, b = 2;printf(“%d\n”, a % b);[错误类型5]error C2440: '=' : cannot convert from 'char [2]' to 'char'不能将字符串转换成字符出错实例:char ch;ch = “a”;[错误类型6]error C2181: illegal else without matching ifelse子句没有匹配的if[错误类型7]error C2196: case value '1' already usedcase 1: 已经被使用(原因:有相同的case 常量)[错误类型8]error C2078: too many initializers初始化值太多出错实例:int a[5] = {1, 2, 3, 4, 5, 6};[错误类型9]error C2105: '++' needs l-value++运算只能作用于左值(常量不能作左值)出错实例:int a[]= {1, 2, 3, 4, 5};int *pa = ++a; // 数组名是地址常量,不能作左值[错误类型10]error C2117: 'Hello' : array bounds overflow数组边界溢出出错实例:char str[5] = "Hello";[错误类型11]error C4716: 'Function' : must return a value函数Function()必须返回一个值出错实例:int Function(int n) // 函数定义,返回值类型:int 类型 {…………return; // 不返回值,语法错误,应为:return 表达式;}[错误类型12]error C2562: 'Function' : 'void' function returning a value无返回值的函数Function()返回了一个值出错实例:void Function(int n) // 函数定义,无返回值{…………return (n % 10); // 有返回值,语法错误,应为:return;}[错误类型13]error C2447: missing function header (old-style formal list?)缺少函数头出错实例:void Function(int n); // 都是“;”惹的祸{………return;}[错误类型14]error C2082: redefinition of formal parameter 'n'重定义了参数n出错实例:void Function(int n){int m, n; // 局部变量n与参数n同名return;}[错误类型15]error C2601: 'Function' : local function definitions are illegal 函数Function()定义是非法的(原因:出现嵌套定义)[错误类型16]error C2065: 'Function' : undeclared identifier函数Function()未声明(原因:先使用后声明或定义)。
C语言常见错误中英文对照表-1讲解学习
分析:例如“#define s(r|) r*r”中参数多了一个字符‘|’
errorC2014: preprocessor command must start as first nonwhite space
中文对照:预处理命令前面只允许空格
分析:每一条预处理命令都应独占一行,不应出现其他非空格字符
中文对照:常量表达式不是整数
分析:一般是定义数组时数组长度不是整型常量
errorC2059: syntax error : 'xxx'
中文对照:‘xxx’语法错误
分析:引起错误的原因很多,可能多加或少加了符号xxx
errorC2064: term does not evaluate to a function
errorC2015: too many characters in constant
中文对照:常量中包含多个字符
分析:字符型常量的单引号中只能有一个字符,或是以“\”开始的一个转义字符
errorC2017: illegal escape sequence
中文对照:转义字符非法
分析:一般是转义字符位于' '或" "之外,例如“char error = ' '\n;”
中文对照:case表达式类型非法
分析:case表达式必须是一个整型常量(包括字符型)
errorC2057: expected constant expression
中文对照:期待常量表达式
分析:一般是定义数组时数组长度为变量,例如“int n=10; int a[n];”中n为变量,是非法的
errorC2058: constant expression is not integral
VC错误代码
VC++6.0常见编译错误中英文对照表fatal error C1003: error count exceeds number; stopping compilation中文对照:(编译错误)错误太多,停止编译分析:修改之前的错误,再次编译fatal error C1004: unexpected end of file found中文对照:(编译错误)文件未结束分析:一个函数或者一个结构定义缺少“}”、或者在一个函数调用或表达式中括号没有配对出现、或者注释符“/*…*/”不完整等fatal error C1083: Cannot open include file: 'xxx': No such file or directory 中文对照:(编译错误)无法打开头文件xxx:没有这个文件或路径分析:头文件不存在、或者头文件拼写错误、或者文件为只读fatal error C1903: unable to recover from previous error(s); stopping compilation 中文对照:(编译错误)无法从之前的错误中恢复,停止编译分析:引起错误的原因很多,建议先修改之前的错误error C2001: newline in constant中文对照:(编译错误)常量中创建新行分析:字符串常量多行书写error C2006: #include expected a filename, found 'identifier'中文对照:(编译错误)#include命令中需要文件名分析:一般是头文件未用一对双引号或尖括号括起来,例如“#include stdio.h”error C2007: #define syntax中文对照:(编译错误)#define语法错误分析:例如“#define”后缺少宏名,例如“#define”error C2008: 'xxx' : unexpected in macro definition中文对照:(编译错误)宏定义时出现了意外的xxx分析:宏定义时宏名与替换串之间应有空格,例如“#define TRUE"1"”error C2009: reuse of macro formal 'identifier'中文对照:(编译错误)带参宏的形式参数重复使用分析:宏定义如有参数不能重名,例如“#define s(a,a) (a*a)”中参数a重复error C2010: 'character' : unexpected in macro formal parameter list中文对照:(编译错误)带参宏的形式参数表中出现未知字符分析:例如“#define s(r|) r*r”中参数多了一个字符‘|’error C2014: preprocessor command must start as first nonwhite space中文对照:(编译错误)预处理命令前面只允许空格分析:每一条预处理命令都应独占一行,不应出现其他非空格字符error C2015: too many characters in constant中文对照:(编译错误)常量中包含多个字符分析:字符型常量的单引号中只能有一个字符,或是以“\”开始的一个转义字符,例如“char error = 'error';”error C2017: illegal escape sequence中文对照:(编译错误)转义字符非法分析:一般是转义字符位于 ' ' 或 " " 之外,例如“char error = ' '\n;”error C2018: unknown character '0xhh'中文对照:(编译错误)未知的字符0xhh分析:一般是输入了中文标点符号,例如“char error = 'E';”中“;”为中文标点符号error C2019: expected preprocessor directive, found 'character'中文对照:(编译错误)期待预处理命令,但有无效字符分析:一般是预处理命令的#号后误输入其他无效字符,例如“#!define TRUE 1”error C2021: expected exponent value, not 'character'中文对照:(编译错误)期待指数值,不能是字符分析:一般是浮点数的指数表示形式有误,例如123.456Eerror C2039: 'identifier1' : is not a member of 'identifier2'中文对照:(编译错误)标识符1不是标识符2的成员分析:程序错误地调用或引用结构体、共用体、类的成员error C2041: illegal digit 'x' for base 'n'中文对照:(编译错误)对于n进制来说数字x非法分析:一般是八进制或十六进制数表示错误,例如“int i = 081;”语句中数字‘8’不是八进制的基数error C2048: more than one default中文对照:(编译错误)default语句多于一个分析:switch语句中只能有一个default,删去多余的defaulterror C2050: switch expression not integral中文对照:(编译错误)switch表达式不是整型的分析:switch表达式必须是整型(或字符型),例如“switch ("a")”中表达式为字符串,这是非法的error C2051: case expression not constant中文对照:(编译错误)case表达式不是常量分析:case表达式应为常量表达式,例如“case "a"”中“"a"”为字符串,这是非法的error C2052: 'type' : illegal type for case expression中文对照:(编译错误)case表达式类型非法分析:case表达式必须是一个整型常量(包括字符型)error C2057: expected constant expression中文对照:(编译错误)期待常量表达式分析:一般是定义数组时数组长度为变量,例如“int n=10; int a[n];”中n为变量,这是非法的error C2058: constant expression is not integral中文对照:(编译错误)常量表达式不是整数分析:一般是定义数组时数组长度不是整型常量error C2059: syntax error : 'xxx'中文对照:(编译错误)‘xxx’语法错误分析:引起错误的原因很多,可能多加或少加了符号xxxerror C2064: term does not evaluate to a function中文对照:(编译错误)无法识别函数语言分析:1、函数参数有误,表达式可能不正确,例如“sqrt(s(s-a)(s-b)(s-c));”中表达式不正确2、变量与函数重名或该标识符不是函数,例如“int i,j; j=i();”中i不是函数error C2065: 'xxx' : undeclared identifier中文对照:(编译错误)未定义的标识符xxx分析:1、如果xxx为cout、cin、scanf、printf、sqrt等,则程序中包含头文件有误2、未定义变量、数组、函数原型等,注意拼写错误或区分大小写。
编译错误信息中英文对照
******************************** 编译错误信息********************************';' not allowed before 'ELSE' ElSE前不允许有“;”'<clause>' clause not allowed in OLE automation section 在OLE自动区段不允许“<clause>”子句'<name>' is not a type identifier <name>不是类型标识符'<name>' not previously declared as a PROPERTY <name>前面没有说明PROPERTY'GOTO <label>' leads into or out of TRY statement GOTO <label>进入或超出TRY语句的范围<clause1> clause expected, but <clause2> found 要求子句<clause1>,但出现<clause2>16-Bit fixup encountered in object file '<text>' 在对象文件<text>遇到16位修复486/487 instructions not enabled 不能用486/487指令Abstract methods must be virtual or dynamic 抽象方法必须为虚拟的或动态的Array type required 需要数组类型Assignment to FOR-Loop variable '<Name>' 给FOR循环变量<Name>赋值Bad argument type in variable type array constructor 在变量类型数组结构中不正确的参数类型Bad file format '<name>' 错误的文件格式<name>Bad file format: <Filename> 错误的文件格式<Filename>Bad global symbol definition: '<Name>' in object file '<Filename>' 对象文件'<Filename>'中错误的全局符号定义'<Name>'Bad unit format: <Filename> 错误的单元格式<Filename>BREAK or CONTINUE outside of loop BREAK或CONTINUE超出循环Cannot add or subtract relocatable symbols 不能增加或减少可重置的符号Cannot assign to a read-only property 不能指定只读属性Cannot BREAK, CONTINUE or EXIT out of a FINALLY clause 超出FINALLY 子句的范围,不能使用BREAK,CONTINUE或EXIT语句Cannot initialize local variables 不能初始化局部变量Cannot initialize multiple variables 不能初始化多个变量Cannot initialize thread local variables 不能初始化线程局部变量Cannot override a static method 不能覆盖静态方法Cannot read a write-only property 不能读取只写属性Case label outside of range of case expression CASE标号超出了CASE表达式的范围Circular unit reference to <Unitname> 对单元<Unitname>循环引用Class already has a default property 类已具有默认的属性Class does not have a default property 类没有默认的属性Class or object types only allowed in type section 在类型区段只允许有类或对象类型Class type required 需要类类型Close error on <Filename> 文件<Filename>关闭错误Compile terminated by user 用户中止编译Constant expected 要求常量Constant expression expected 要求常量表达式Constant expression violates subrange bounds 常量表达式超出子界范围Constant object cannot be passed as var parameter 常量对象不能作为变量参数传递Constant or type identifier expected 要求常量或类型标识符Constants cannot be used as open array arguments 常量不能用作打开数组参数Constructing instance of '<name>' containing abstract methods 构造的<name>实体包含抽象的方法Could not compile used unit '<Unitname>' 不能用单元<Unitname>编译Could not create output file <Filename> 不能建立输出文件<Filename> Could not load RLINK32.DLL 不能加载RLINK32.DLLData type too large: exceeds 2 GB 数据类型太大:超过2GBDeclaration of <Name> differs from previous declaration <Name>的说明与先前的说明不同Default property must be an array property 默认的属性必须为数组属性Default values must be of ordinal, pointer or small set type 默认的值必须为序数、指针或小集类型Destination cannot be assigned to 目标不能指定Destination is inaccessible 目标不能存取Dispid '<number>' already used by '<name>' DISPID标识号已被<name>使用Dispid clause only allowed in OLE automation section DISPID子句只能在OLE 自动区段中使用Division by zero 除数为零Duplicate case label CASE标号重复Duplicate tag value 重复的标志值Dynamic method or message handler not allowed here 这里不允许有动态方法或信息处理程序Dynamic methods and message handlers not allowed in OLE automation section在OLE自动区段不允许有动态方法或消息处理程序Element 0 inaccessible - use 'Length' or 'SetLength' 元素0不能存取-使用LENGTH或SETLENGTHError in numeric constant 数值常量错误EXCEPT or FINALLY expected 要求EXCEPT或FINALLYEXPORTS allowed only at global scope EXPORTS只允许在全局范围使用Expression has no value 表达式没有值Expression too complicated 表达式太复杂Field definition not allowed in OLE automation section 在OLE自动区段中不允许域定义Field definition not allowed after methods or properties 在方法或属性后不允许域定义Field or method identifier expected 要求域或方法标识符File not found: <Filename> 文件<Filename>没有找到File type not allowed here 这儿不允许文件类型For loop control variable must be simple local variable FOR循环控制变量必须为简单局部变量For loop control variable must have ordinal type FOR循环控制变量必须为序数类型FOR or WHILE loop executes zero times - deleted FOR或WHILE循环执行零次-删除FOR-Loop variable '<name>' cannot be passed as var parameter FOR循环变量<name>不能作为参数传递FOR-Loop variable '<Name>' may be undefined after loop 在循环后的FOR循环变量<NAME>是不确定的Function needs result type 函数需要结果类型Identifier redeclared: '<name>' 标识符<name>重复说明Illegal character in input file: '<char>' ($<hex>) 在输入文件中的非法字符'<char>'Illegal message method index 非法的消息方法指针Illegal reference to symbol '<Name>' in object file '<Filename>' 在对象文件<filename>中对符号<name>的非法引用Illegal type in OLE automation section: '<typename>' 在OLE自动区段中的非法类型<typename>Illegal type in Read/Readln statement 在Read/Readln语句中的非法类型Illegal type in Write/Writeln statement 在Write/Writeln语句中的非法类型Inaccessible value 不可存取的值Incompatible types: '<name>' and '<name>' 不兼容的类型<name>和<name> Incompatible types: <text> 不兼容的类型<text>Inline assembler stack overflow 内联汇编溢出Inline assembler syntax error 内联汇编语法错误Instance variable '<name>' inaccessible here 实体变量<name>在这里不能存取Integer constant or variable name expected 要求整形常量或变量名Integer constant too large 整型常量太大Internal error: <ErrorCode> 内部错误<errorcode>Invalid combination of opcode and operands 操作码与操作对象的无效组合Invalid compiler directive: '<Directive>' 无效的编译指令<DIRECTIVE> Invalid function result type 无效的函数值类型Invalid message parameter list 无效的消息参数列表Invalid register combination 无效的寄存器组合Invalid typecast 无效的TYPECASELabel '<Name>' is not declared in current procedure 在当前的过程中没有说明标号<NAME>Label already defined: '<Labelname>' 标号<LABELNAME>已经定义Label declaration not allowed in interface part 在界面部分不允许标号说明Label declared and referenced, but not set: '<label>' 标号被<label>说明及引用,但不能设置Label expected 要求标号Left side cannot be assigned to 左边不能赋值Line too long (more than 255 characters) 行太长(超出255个字符)Local class or object types not allowed 不允许局部的类或对象类型Local procedure/function '<Name>' assigned to procedure variable 局部过程/函数<NAME>赋给过程变量LOOP/JCXZ distance out of range LOOP/JCXZ距离超出范围Low bound exceeds high bound 下界超过上界Memory reference expected 要求内存引用Method '<name>' hides virtual method of base type '<name>' 方法<NAME>隐藏了基类型为<NAME>的虚拟方法Method '<name>' not found in base class 在基类中没有找到方法<NAME> Method identifier expected 要求方法标识符Missing ENDIF directive 缺少ENDIF指令Missing operator or semicolon 缺少操作符或分号Missing or invalid conditional symbol in '$<symbol>' directive 在$<symbol>指令中缺少或无效的条件符号Missing parameter type 缺少参数类型Necessary library helper function was eliminated by linker 必要的库帮助函数被连接程序删除No definition for abstract method '<name>' allowed 抽象方法<NAME>没有定义Not enough actual parameters 没有足够的实际参数Number of elements differs from declaration 元素数与说明不同Numeric overflow 数值溢出Object or class type required 需要对象或类类型Object type required 需要对象类型Only register calling convention allowed in OLE automation section 在OLE自动区段中只允许寄存器调用约定Operand size mismatch 运算对象大小匹配Operator not applicable to this operand type 运算符不使用于这一运算对象类型Order of fields in record constant differs from declaration 在记录常量中的域次序与说明不同Ordinal type required 需要序数类型Out of memory 内存溢出Overflow in conversion or arithmetic operation 转换或算术操作溢出Overriding automated virtual method '<name>' cannot specify a dispid 覆盖的自动虚拟方法<NAME>不能指定DISPIDPACKED not allowed here 这里不允许PACKEDPointer type required 需要指针类型Procedure cannot have a result type 过程不能有结果类型Procedure DISPOSE needs destructor 过程DISPOSE需要destructor Procedure FAIL only allowed in constructor 过程FAIL只允许在constructor方法中Procedure NEW needs constructor 过程NEW需要constructor方法PROCEDURE or FUNCTION expected 要求PROCEDURE或FUNCTION Procedure or function name expected 要求过程或函数名Program or unit '<name>' recursively uses itself 程序或单元递归Property '<name>' does not exist in base class 在基类中<NAME>属性不存在Published property '<name>' cannot be of type <type> Published属性<NAME>不能具有类型<type>Published Real48 property '<name>' must be Single, Double or Extended Published REAL属性<NAME>必须为Single, Double或ExtendedRe-raising an exception only allowed in exception handler 在意外处理中只允许重新引起意外处理Read error on <Filename> 文件<FILENAME>读出错Record, object or class type required 需要记录,对象或类类型Redeclaration of '<name>' hides a member in the base class <NAME>的重新说明隐藏了基类中一个元素Redeclaration of property not allowed in OLE automation section 在OLE自动区段中不允许属性重复说明Return value of function '<Functionname>' might be undefined 函数<Functionname>的返回值可能没有定义Seek error on <Filename> 在<FILENAME>中搜索错误Segment/Offset pairs not supported in Borland 32-bit Pascal 在Borland 32位的PASCAL中不支持Segment/Offset对Sets may have at most 256 elements 集至少有256个元素Size of published set '<name>' is >32 bits published集<NAME>的大小大于32字节Slice standard function only allowed as open array argument Slice标准函数只允许作为打开数组参数Statement expected, but expression of type '<type>' found 要求语句,但出现类型<TYPE>的表达式Statements not allowed in interface part 在界面中不允许的语句String constant too long 字符串常量太长String constant truncated to fit STRING[<number>] 字符串常量截取到适合STRING[<number>]Strings may have at most 255 elements 字符串至少255个元素Structure field identifier expected 要求结构域标识符Syntax error in real number 实数语法错误System unit out of date or corrupted: missing '<name>' 系统单元超出日期或损坏:缺少<NAME>Text after final 'END. 编译器忽略END.后的文本This form of method call only allowed for class methods 该方法的窗体只允许类方法This form of method call only allowed in methods of derived types 该方法的窗体只允许在导出类型的方法中This type cannot be initialized 这一类型不能初始化Thread local variables cannot be ABSOLUTE 线程局部变量不能是ABSOLUTEThread local variables cannot be local to a function or procedure 线程局部变量对函数不能是局部的Too many actual parameters 太多的实际参数Too many conditional symbols 太多的条件符号Type '<name>' has no type info 类型<NAME>没有类型信息Type '<Name>' is not yet completely defined 类型<NAME>至今没有定义Type '<name>' must be a class to have a PUBLISHED section 类型<NAME>必须是在PUBLISHED区段中的类Type '<name>' must be a class to have OLE automation 类型<NAME>必须是具有OLE自动的类Type '<name>' needs finalization - not allowed in file type 类型<NAME>需要初始化-不允许在文件类型中Type '<name>' needs finalization - not allowed in variant record 类型<NAME>需要初始化-不允许在变体记录Type expected 要求TYPEType not allowed in OLE Automation call 在OLE自动调用中不允许的类型Type of expression must be BOOLEAN 表达式的类型必须为BOOLEAN型Type of expression must be INTEGER 表达式的类型必须为INTEGER型TYPEINFO standard function expects a type identifier TYPEINFO标准函数要求类型标识符TYPEOF can only be applied to object types with a VMT TYPEOF只能用于具有VMT的对象类型Types of actual and formal var parameters must be identical 形参与实参必须一致Undeclared identifier: '<name>' 未说明的标识符<NAME>Unexpected end of file in comment started on line <Number> 以行<Number>开始的注释中出现不应有的文件结束Unit <Unit1> was compiled with a different version of <Unit2> 单元<UNIT1>与不同版本的<UNIT2>编译Unit name mismatch: '<Unitname>' 单元名不匹配<UNITNAME>Unknown directive: '<Directive>' 未知的指令<DIRECTIVE>Unnamed arguments must precede named arguments in OLE Automation call 在OLE自动调用中未命名的参数必须在命名的参数前Unsatisfied forward or external declaration: '<Procedurename>' 不满足的向前或外部说明<Procedurename>Unterminated string 未结束的字符串Value assigned to '<Name>' never used 赋给<NAME>的值从未使用过Variable '<name>' inaccessible here due to optimization 由于优化,变量名<NAME>在这里不能存取Variable '<name>' is declared but never used in '<name>' 变量名<NAME>已说明,但不曾使用Variable '<Name>' might not have been initialized 变量名<NAME>可能没有初始化Variable required 需要变量Virtual constructors are not allowed 不允许虚拟的constructors方法Write error on <Filename> 文件<Filename>写错误Wrong or corrupted version of RLINK32.DLL RLINK32.DLL版本错误或不能用。
C语言编程出错英汉提示对照表
Enumeration constant syntax error -----------------枚举常数语法错误
Error directive :xxx ------------------------错误的编译预处理命令
Error writing output file ---------------------写输出文件错误
Goto statement missing label -----
Call of non-function -----------------调用未定义的函数
Call to function with no prototype ---------------调用函数时没有函数的说明 Cannot modify a const object ---------------不允许修改常量对象
Conflicting type modifiers ------------------不明确的类型说明符
Constant expression reuired ----------------要求常量表达式
Constant out of range in comparison -----------------在比较中常量超出范围 Conversion may lose significant digits -----------------转换时会丢失意义的数字 Conversion of near pointer not allowed -----------------不允许转换近指针 Could not find file ''xxx'' -----------------------找不到XXX文件
Visual c++ 6_0错误代码对照表
2C 检查串行端口,并使之作初始准备。 完成视频ROM控制之前的处理;即将查看任选的视频ROM并加以控制。屏幕初始准备正在进行或失灵。
2D 检测并行端口,并使之作初始准备。 已完成任选的视频ROM控制,即将进行视频ROM回复控制之后任何其他处理的控制。屏幕回扫测试正在进行或失灵。
1C 测试CMOS检查总和。 第一个64DK RAM第12位故障。
1D 调定CMOS配置。 第一个64DK RAM第13位故障。
1E 测定系统存储器的大小,并且把它和CMOS值比较。 第一个64DK RAM第14位故障。
1F 测试64K存储器至最高640K。 第一个64DK RAM第15位故障。
3B 用OPTI电路片(只是486)使辅助超高速缓冲存储器作初始准备。 已显示发现<ESC>信息;虚拟方式,存储器测试即将开始。 按日计算的日历时钟测试正在进行或失灵。
3C 建立允许进入CMOS设置的标志。 串行端口测试正在进行或失灵。
3D 初始化键盘/PS2鼠标/PNP设备及总内存节点。 并行端口测试正在进行或失灵。
03 清除8042键盘控制器,发出TESTKBRD命令(AAH) 通电延迟已完成。 ROM BIOS检查部件正在进行或失灵。
04 使8042键盘控制器复位,核实TESTKBRD。 键盘控制器软复位/通电测试。 可编程间隔计时器的测试正在进行或失灵。
05 如果不断重复制造测试1至5,可获得8042控制状态。 已确定软复位/通电;即将启动ROM。DMA初如准备正在进行或者失灵。
17 调准视频输入/输出工作,若装有视频BIOS则启用。 第1通道计时器测试结束;8254第0通道计时器即将完成测试。第一个64DK RAM第7位故障。
vc++6.0菜单中英文对照附录常见编译错误
VC++6.0系统开发环境在Windows 98/2000/XP操作系统中正确安装了Visual C++ 6.0后,可以启动Visual C++6.0系统。
第一次运行时,将显示出“Tip of the Day”对话框,单击“Next”命令按钮,可看到有关各种操作的提示;如果不选中“Show tips at startup”复选框,那么以后运行Visual C++ 6.0时将不再出现此对话框。
单击“Close”命令按钮关闭此对话框,进入Visual C++6.0系统开发环境。
1 开发环境的菜单功能Visual C++6.0开发环境界面由标题栏、菜单栏、工具栏、项目工作区窗口、文档窗口、输出窗口以及状态栏等组成。
在开发环境界面中,可以看到在它的上方排列着一系列菜单,如图1所示,而每一个菜单下都有各自的菜单命令。
在进一步与开发环境打交道之前,先了解各个菜单命令的基本功能是很有必要的,因为大部分的操作都是通过菜单来完成的。
图 1 VC++主菜单栏1. File莱单File菜单中的命令主要用来对文件和项目进行操作,如“新建”、“打开”、“保存”、“打印”等。
其中各项命令的功能描述如表1所示。
表 1 File菜单命令的快捷键及功能描述菜单命令快捷键功能描述New Ctrl+N 创建一个新项目或文件Open Ctrl+O 打开已有的文件Close 关闭当前被打开的文件Open Workspace 打开一个已有的项目Save Workspace 保存当前项目Close Workspace 关闭当前项目Save Ctrl+S 保存当前文件Save As 将当前文件用新文件名保存Save All 保存所有打开的文件Page Setup 文件打印的页设置(续表)菜单命令快捷键功能描述Print Ctrl+P 打印当前文件内容或选定的当前内容Recent Files 选择打开最近的文件Recent Workspace 选择打开最近的项目Exit 退出Visual C++6.0开发环境2. Edit菜单Edit菜单中的命令用来使用户方便快捷地编辑文件内容,如进行删除、复制等操作,其中大多数命令功能与Windows中标准字处理程序的编辑命令一致,各项命令的快捷键及它们的功能描述如表2所示。
常见编译错误信息
常见编译错误信息A.1 visual c++ 6.0的错误信息概述visual C++ 6.0的编译连接错误信息分为三种类型:致命错误、一般错误和警告。
其中,致命错误是内部编译和连接器出错,一般错误指程序的语法错误,磁盘、文件或内存存取错误或命令行错误等,警告则只指出一些值得怀疑的情况,它并不阻止编译的进行。
Visual C++ 6.0的编译连接错误信息分为下列类型:编译器错误,错误代码 C999-C3999.编译器警告,错误代码C4000-C4999.连接器错误,错误代码LNK1000-LNK2035.连接器警告,错误代码LNK4001-LNK4255.C运行时错误,错误代码R6002-R6035.C运行时警告,错误代码CRT1001.资源编译器错误,错误代码RC1000-RC2236.资源编译器警告,错误代码RC4000-RC4413.资源编译器警告,错误代码RW1004-RW4004.NMAKE错误,错误代码U1000-U4014.ATL提供程序错误和警告,错误代码ATL2004-ATL4111.命令行错误,错误代码D8000-D8046.命令行警告,错误代码D9000-D9044.配置优化错误和警告,错误代码PG0001-PG1087.项目生成错误和警告,错误代码PRJ0002-PRJ0051.CVTRES错误,错误代码CVT1100-CVT4001.BSCMAKE错误,错误代码BK1500-BK4503.表达式计算错误,错误代码CXX0000-CXX0072数学错误,错误代码M6101-M6205.SPROXY错误,错误代码SDL0000-SDL1030.SPROXY警告,错误代码SDL4000-SDL4009.Web部署错误和警告,错误代码VCD0001-VCD0048.XDCMake错误和警告,错误代码VCD0001-VCD0048.其中最常用的是编译器错误和警告。
Visual C++ 6.0的编译连接错误信息数量庞大,而且是英文版的。
C语言出错信息中英文对照表
C语⾔出错信息中英⽂对照表Ambiguous operators need parentheses 不明确的运算需要⽤括号括起Ambiguous symbol ’’xxx’’不明确的符号Argument list syntax error参数表语法错误Array bounds missing丢失数组界限符Array size toolarge数组尺⼨太⼤Bad character in paramenters参数中有不适当的字符Bad file name format in include directive 包含命令中⽂件名格式不正确Bad ifdef directive synatax编译预处理ifdef有语法错Bad undef directive syntax编译预处理undef有语法错Bit field too large位字段太长Call of non-function调⽤未定义的函数Call to function with no prototype调⽤函数时没有函数的说明Cannot modify a const object不允许修改常量对象Case outside of switch漏掉了case 语句Case syntax errorCase 语法错误Code has no effect代码不可述不可能执⾏到Compound statement missing{分程序漏掉"{"Conflicting type modifiers不明确的类型说明符Constant expression required要求常量表达式Constant out of range in comparison 在⽐较中常量超出范围Conversion may lose significant digits 转换时会丢失意义的数字Conversion of near pointer not allowed 不允许转换近指针Could not find file ’’xxx’’找不到XXX⽂件Declaration missing ;说明缺少";"Declaration syntax error说明中出现语法错误Default outside of switchDefault 出现在switch语句之外Define directive needs an identifier定义编译预处理需要标识符Division by zero⽤零作除数Do statement must have whileDo-while语句中缺少while部分Enum syntax error枚举类型语法错误Enumeration constant syntax error枚举常数语法错误Error directive :xxx错误的编译预处理命令Error writing output file写输出⽂件错误Expression syntax error表达式语法错误Extra parameter in call调⽤时出现多余错误File name too long⽂件名太长Function call missing )函数调⽤缺少右括号Fuction definition out of place函数定义位置错误Fuction should return a value函数必需返回⼀个值Goto statement missing labelGoto语句没有标号Hexadecimal or octal constant too large 16进制或8进制常数太⼤Illegal character ’’x’’⾮法字符xIllegal initialization⾮法的初始化Illegal octal digit⾮法的8进制数字Illegal pointer subtraction⾮法的指针相减Illegal structure operation⾮法的结构体操作Illegal use of floating point⾮法的浮点运算Illegal use of pointer指针使⽤⾮法Improper use of a typedefsymbol 类型定义符号使⽤不恰当In-line assembly not allowed不允许使⽤⾏间汇编Incompatible storage class存储类别不相容Incompatible type conversion不相容的类型转换Incorrect number format错误的数据格式Incorrect use of defaultDefault使⽤不当Invalid indirection⽆效的间接运算Invalid pointer addition指针相加⽆效Irreducible expression tree⽆法执⾏的表达式运算Lvalue required需要逻辑值0或⾮0值Macro argumentsyntax error宏参数语法错误Macro expansion too long宏的扩展以后太长Mismatched number of parameters in definition 定义中参数个数不匹配Misplaced break此处不应出现break语句Misplaced continue此处不应出现continue语句Misplaced decimal point此处不应出现⼩数点xxx’’ is assigned a valueMisplaced else此处不应出现elseMisplaced else directive此处不应出现编译预处理elseMisplaced endif directive此处不应出现编译预处理endifMust be addressable必须是可以编址的Must take address of memory location必须存储定位的地址No declaration for function ’’xxx’’没有函数xxx的说明No stack缺少堆栈No type information没有类型信息Non-portable pointer assignment不可移动的指针(地址常数)赋值Non-portable pointer comparison不可移动的指针(地址常数)⽐较Non-portable pointer conversion不可移动的指针(地址常数)转换Not a valid expression format type不合法的表达式格式Not an allowed type不允许使⽤的类型Numeric constant too large数值常太⼤Out of memory内存不够⽤Parameter ’’xxx’’ is never used能数xxx没有⽤到Pointer required on left side of ->符号->的左边必须是指针Possible use of ’’xxx’’ before definition 在定义之前就使⽤了xxx(警告)Possibly incorrect assignment赋值可能不正确Redeclaration of ’’xxx’’重复定义了xxxRedefinition of ’’xxx’’ is not identical xxx的两次定义不⼀致Register allocation failure寄存器定址失败Repeat count needs an lvalue重复计数需要逻辑值Size of structure or array not known结构体或数给⼤⼩不确定Statement missing ;语句后缺少";"Structure or union syntax error结构体或联合体语法错误Structure size too large结构体尺⼨太⼤Sub scripting missing ] 下标缺少右⽅括号Superfluous & with function or array函数或数组中有多余的"&"Suspicious pointer conversion可疑的指针转换Symbol limit exceeded符号超限Too few parameters in call函数调⽤时的实参少于函数的参数不Too many default casesDefault太多(switch语句中⼀个)Too many error or warning messages错误或警告信息太多Too many type in declaration说明中类型太多Too much auto memory in function函数⽤到的局部存储太多Too much global data defined in file⽂件中全局数据太多Two consecutive dots两个连续的句点Type mismatch in parameter xxx参数xxx类型不匹配Ty pe mismatch in redeclaration of ’’xxx’’xxx重定义的类型不匹配Unable to create output file ’’xxx’’⽆法建⽴输出⽂件xxxUnable to open include file ’’xxx’’⽆法打开被包含的⽂件xxxUnable to open input file ’’xxx’’⽆法打开输⼊⽂件xxxUndefined labe l ’’xxx’’没有定义的标号xxxUndefined structure ’’xxx’’没有定义的结构xxxUndefined symbol ’’xxx’’没有定义的符号xxxUnexpected end of file in comment started on line xxx 从xxx⾏开始的注解尚未结束⽂件不能结束Unexpected end of file in conditional started on line xxx 从xxx 开始的条件语句尚未结束⽂件不能结束Unknown assemble instruction未知的汇编结构Unknown option未知的操作Unknown preprocessor directive: ’’xxx’’不认识的预处理命令xxxUnreachable code⽆路可达的代码Unterminated string or character constant字符串缺少引号User break⽤户强⾏中断了程序Void functions may not return a valueVoid类型的函数不应有返回值Wrong number of arguments调⽤函数的参数数⽬错’’xxx’’ not an argumentxxx不是参数’’xxx’’ not part of structurexxx不是结构体的⼀部分xxx statement missing (xxx语句缺少左括号xxx statement missing )xxx语句缺少右括号xxx statement missing ;xxx缺少分号’’xxx’’ declared but never used说明了xxx但没有使⽤’’xxx’’ is assigned a value which is never used 给xxx赋了值但未⽤过Zero length structure结构体的长度为零Ambiguous symbol "xxx"不明确的符号Argument list syntax error参数表语法错误Array bounds missing丢失数组界限符Array size toolarge数组尺⼨太⼤Bad character in paramenters参数中有不适当的字符Bad file name format in include directive 包含命令中⽂件名格式不正确Bad ifdef directive synatax编译预处理ifdef有语法错Bad undef directive syntax编译预处理undef有语法错Bit field too large位字段太长Call of non-function调⽤未定义的函数Call to function with no prototype调⽤函数时没有函数的说明Cannot modify a const object不允许修改常量对象Case outside of switch漏掉了case 语句Case syntax errorCase 语法错误Code has no effect代码不可述不可能执⾏到Compound statement missing{分程序漏掉"{"Conflicting type modifiers不明确的类型说明符Constant expression required要求常量表达式Constant out of range in comparison在⽐较中常量超出范围Conversion may lose significant digits 转换时会丢失意义的数字Conversion of near pointer not allowed 不允许转换近指针Could not find file "xxx"找不到XXX⽂件Declaration missing ;说明缺少";"Declaration syntax error说明中出现语法错误Default outside of switchDefault 出现在switch语句之外Define directive needs an identifier 定义编译预处理需要标识符Division by zero⽤零作除数Do statement must have whileDo-while语句中缺少while部分Enum syntax error枚举类型语法错误Enumeration constant syntax error枚举常数语法错误Error directive :xxx错误的编译预处理命令Error writing output file写输出⽂件错误Expression syntax error表达式语法错误Extra parameter in call调⽤时出现多余错误File name too long⽂件名太长Function call missing )函数调⽤缺少右括号Fuction definition out of place函数定义位置错误Fuction should return a value函数必需返回⼀个值Goto statement missing labelGoto语句没有标号Hexadecimal or octal constant too large 16进制或8进制常数太⼤Illegal character "x"⾮法字符xIllegal initialization⾮法的初始化Illegal octal digit⾮法的8进制数字Illegal pointer subtraction⾮法的指针相减Illegal structure operation⾮法的结构体操作Illegal use of floating point⾮法的浮点运算Illegal use of pointer指针使⽤⾮法 Improper use of a typedefsymbol 类型定义符号使⽤不恰当In-line assembly not allowed不允许使⽤⾏间汇编Incompatible storage class存储类别不相容Incompatible type conversion不相容的类型转换Incorrect number format错误的数据格式Incorrect use of defaultDefault使⽤不当Invalid indirection⽆效的间接运算Invalid pointer addition指针相加⽆效Irreducible expression tree⽆法执⾏的表达式运算Lvalue required需要逻辑值0或⾮0值 Macro argumentsyntax error宏参数语法错误Macro expansion too long宏的扩展以后太长Mismatched number of parameters in definition 定义中参数个数不匹配Misplaced break此处不应出现break语句Misplaced continue此处不应出现continue语句Misplaced decimal point此处不应出现⼩数点xxx" is assigned a valueMisplaced else此处不应出现elseMisplaced else directive此处不应出现编译预处理elseMisplaced endif directive此处不应出现编译预处理endifMust be addressable必须是可以编址的Must take address of memory location必须存储定位的地址No declaration for function "xxx"没有函数xxx的说明No stack缺少堆栈No type information没有类型信息Non-portable pointer assignment不可移动的指针(地址常数)赋值Non-portable pointer comparison不可移动的指针(地址常数)⽐较Non-portable pointer conversion不可移动的指针(地址常数)转换Not a valid expression format type不合法的表达式格式Not an allowed type不允许使⽤的类型Numeric constant too large数值常太⼤Out of memory内存不够⽤Parameter "xxx" is never used能数xxx没有⽤到Pointer required on left side of ->符号->的左边必须是指针Possible use of "xxx" before definition 在定义之前就使⽤了xxx(警告)Possibly incorrect assignment赋值可能不正确Redeclaration of "xxx"重复定义了xxxRedefinition of "xxx" is not identical xxx的两次定义不⼀致Register allocation failure寄存器定址失败Repeat count needs an lvalue重复计数需要逻辑值Size of structure or array not known结构体或数给⼤⼩不确定Statement missing ;语句后缺少";"Structure or union syntax error结构体或联合体语法错误Structure size too large结构体尺⼨太⼤ Sub scripting missing ] 下标缺少右⽅括号Superfluous & with function or array函数或数组中有多余的"&"Suspicious pointer conversion可疑的指针转换Symbol limit exceeded符号超限Too few parameters in call函数调⽤时的实参少于函数的参数Too many default casesDefault太多(switch语句中⼀个)Too many error or warning messages错误或警告信息太多Too many type in declaration说明中类型太多Too much auto memory in function函数⽤到的局部存储太多Too much global data defined in file⽂件中全局数据太多Two consecutive dots两个连续的句点Type mismatch in parameter xxx参数xxx类型不匹配Type mismatch in redeclaration of "xxx" xxx重定义的类型不匹配Unable to create output file "xxx"⽆法建⽴输出⽂件xxxUnable to open include file "xxx"⽆法打开被包含的⽂件xxxUnable to open input file "xxx"⽆法打开输⼊⽂件xxxUndefined label "xxx"没有定义的标号xxxUndefined structure "xxx"没有定义的结构xxxUndefined symbol "xxx"没有定义的符号xxxUnexpected end of file in comment started on line xxx从xxx⾏开始的注解尚未结束⽂件不能结束Unexpected end of file in conditional started on line xxx 从xxx 开始的条件语句尚未结束⽂件不能结束Unknown assemble instruction未知的汇编结构Unknown option未知的操作Unknown preprocessor directive: "xxx"不认识的预处理命令xxxUnreachable code⽆路可达的代码Unterminated string or character constant字符串缺少引号User break⽤户强⾏中断了程序Void functions may not return a valueVoid类型的函数不应有返回值Wrong number of arguments调⽤函数的参数数⽬错"xxx" not an argumentxxx不是参数"xxx" not part of structurexxx不是结构体的⼀部分xxx statement missing (xxx语句缺少左括号xxx statement missing )xxx语句缺少右括号xxx statement missing ;xxx缺少分号"xxx" declared but never used说明了xxx但没有使⽤"xxx" is assigned a value which is never used 给xxx赋了值但未⽤过Zero length structure结构体的长度为零。
vc6.0编译错误参考
vc6.0编译错误参考Ambiguous operators need parentheses不明确的运算需要用括号括起Ambiguous symbol ``xxx``不明确的符号Argument list syntax error参数表语法错误Array bounds missing丢失数组界限符Array size toolarge数组尺寸太大Bad character in paramenters参数中有不适当的字符Bad file name format in include directive包含命令中文件名格式不正确Bad ifdef directive synatax编译预处理ifdef有语法错Bad undef directive syntax编译预处理undef有语法错Bit field too large位字段太长Call of non-function调用未定义的函数Call to function with no prototype调用函数时没有函数的说明Cannot modify a const object不允许修改常量对象Case outside of switch漏掉了case 语句Case syntax errorCase 语法错误Code has no effect代码不可述不可能执行到Compound statement missing{分程序漏掉"{"Conflicting type modifiers不明确的类型说明符Constant expression required要求常量表达式Constant out of range in comparison在比较中常量超出范围Conversion may lose significant digits转换时会丢失意义的数字Conversion of near pointer not allowed 不允许转换近指针Could not find file ``xxx``找不到XXX文件Declaration missing ;说明缺少";"Declaration syntax error说明中出现语法错误Default outside of switchDefault 出现在switch语句之外Define directive needs an identifier定义编译预处理需要标识符Division by zero用零作除数Do statement must have whileDo-while语句中缺少while部分Enum syntax error枚举类型语法错误Enumeration constant syntax error枚举常数语法错误Error directive :xxx错误的编译预处理命令Error writing output file写输出文件错误Expression syntax error表达式语法错误Extra parameter in call调用时出现多余错误File name too long文件名太长Function call missing函数调用缺少右括号Fuction definition out of place函数定义位置错误Fuction should return a value函数必需返回一个值Goto statement missing labelGoto语句没有标号Hexadecimal or octal constant too large 16进制或8进制常数太大Illegal character ``x``非法字符xIllegal initialization非法的初始化Illegal octal digit非法的8进制数字Illegal pointer subtraction非法的指针相减Illegal structure operation非法的结构体操作Illegal use of floating point非法的浮点运算Illegal use of pointer指针使用非法Improper use of a typedefsymbol类型定义符号使用不恰当In-line assembly not allowed不允许使用行间汇编Incompatible storage class存储类别不相容Incompatible type conversion不相容的类型转换Incorrect number format错误的数据格式Incorrect use of defaultDefault使用不当Invalid indirection无效的间接运算Invalid pointer addition指针相加无效Irreducible expression tree无法执行的表达式运算Lvalue required需要逻辑值0或非0值Macro argument syntax error宏参数语法错误Macro expansion too long宏的扩展以后太长Mismatched number of parameters in definition 定义中参数个数不匹配Misplaced break此处不应出现break语句Misplaced continue此处不应出现continue语句Misplaced decimal point此处不应出现小数点Misplaced elif directive不应编译预处理elifMisplaced else此处不应出现elseMisplaced else directive此处不应出现编译预处理else Misplaced endif directive此处不应出现编译预处理endifMust be addressable必须是可以编址的Must take address of memory location 必须存储定位的地址No declaration for function ``xxx``没有函数xxx的说明No stack缺少堆栈No type information没有类型信息Non-portable pointer assignment不可移动的指针(地址常数)赋值Non-portable pointer comparison不可移动的指针(地址常数)比较Non-portable pointer conversion不可移动的指针(地址常数)转换Not a valid expression format type不合法的表达式格式Not an allowed type不允许使用的类型Numeric constant too large数值常太大Out of memory内存不够用Parameter ``xxx`` is never used能数xxx没有用到Pointer required on left side of ->符号->的左边必须是指针Possible use of ``xxx`` before definition 在定义之前就使用了xxx(警告)Possibly incorrect assignment赋值可能不正确Redeclaration of ``xxx``重复定义了xxxRedefinition of ``xxx`` is not identical xxx的两次定义不一致Register allocation failure寄存器定址失败Repeat count needs an lvalue重复计数需要逻辑值Size of structure or array not known结构体或数给大小不确定Statement missing ;语句后缺少";"Structure or union syntax error结构体或联合体语法错误Structure size too large结构体尺寸太大Sub scripting missing ]下标缺少右方括号Superfluous & with function or array函数或数组中有多余的"&" Suspicious pointer conversion可疑的指针转换Symbol limit exceeded符号超限Too few parameters in call函数调用时的实参少于函数的参数不Too many default casesDefault太多(switch语句中一个)Too many error or warning messages错误或警告信息太多Too many type in declaration说明中类型太多Too much auto memory in function函数用到的局部存储太多Too much global data defined in file文件中全局数据太多Two consecutive dots两个连续的句点Type mismatch in parameter xxx参数xxx类型不匹配Type mismatch in redeclaration of ``xxx`` xxx重定义的类型不匹配Unable to create output file ``xxx``无法建立输出文件xxxUnable to open include file ``xxx``无法打开被包含的文件xxxUnable to open input file ``xxx``无法打开输入文件xxxUndefined label ``xxx``没有定义的标号xxxUndefined structure ``xxx``没有定义的结构xxxUndefined symbol ``xxx``没有定义的符号xxxUnexpected end of file in comment started on line xxx从xxx行开始的注解尚未结束文件不能结束Unexpected end of file in conditional started on line xxx从xxx 开始的条件语句尚未结束文件不能结束Unknown assemble instruction未知的汇编结构Unknown option未知的操作Unknown preprocessor directive: ``xxx``不认识的预处理命令xxxUnreachable code无路可达的代码Unterminated string or character constant字符串缺少引号User break用户强行中断了程序V oid functions may not return a valueV oid类型的函数不应有返回值Wrong number of arguments调用函数的参数数目错``xxx`` not an argumentxxx不是参数``xxx`` not part of structurexxx不是结构体的一部分xxx statement missing (xxx语句缺少左括号xxx statement missingxxx语句缺少右括号xxx statement missing ;xxx缺少分号xxx`` declared but never used说明了xxx但没有使用xxx`` is assigned a value which is never used给xxx赋了值但未用过Zero length structure结构体的长度1、fatal error C1010: unexpected end of file while looking for precompiled header directive。
C常见的编译错误中英对应翻译
C++常见的编译错误中英对应翻译对于刚学编程,刚接触C++的新手来说,编译运行报错是最头疼的一件事,爆出一堆英文,英语差一点的又不知道什么意思,所以也不知道如何去改,在此,我给大家传一份常见错误中英文对照表及简单解释,希望可以帮到大家:fatal error C1003: error count exceeds number; stoppin g compila tion中文对照:(编译错误)错误太多,停止编译分析:修改之前的错误,再次编译fatal error C1004: unexpec ted end of file found中文对照:(编译错误)文件未结束分析:一个函数或者一个结构定义缺少“}”、或者在一个函数调用或表达式中括号没有配对出现、或者注释符“/*…*/”不完整等fatal error C1083: Cannotopen include file: 'xxx': No such file or directo ry中文对照:(编译错误)无法打开头文件x xx:没有这个文件或路径分析:头文件不存在、或者头文件拼写错误、或者文件为只读fatal error C1903: unableto recover from previou s error(s); stoppin g compila tion中文对照:(编译错误)无法从之前的错误中恢复,停止编译分析:引起错误的原因很多,建议先修改之前的错误error C2001: newline in constan t中文对照:(编译错误)常量中创建新行分析:字符串常量多行书写error C2006: #include expecte d a filenam e, found 'identif ier'中文对照:(编译错误)#include命令中需要文件名分析:一般是头文件未用一对双引号或尖括号括起来,例如“#include stdio.h”error C2007: #definesyntax中文对照:(编译错误)#define语法错误分析:例如“#define”后缺少宏名,例如“#define”error C2008: 'xxx' : unexpec ted in macro definit ion中文对照:(编译错误)宏定义时出现了意外的xxx分析:宏定义时宏名与替换串之间应有空格,例如“#defineTRUE"1"”error C2009: reuse of macro formal'identif ier'中文对照:(编译错误)带参宏的形式参数重复使用分析:宏定义如有参数不能重名,例如“#defines(a,a) (a*a)”中参数a重复error C2010: 'charact er' : unexpec ted in macro formalparamet er list中文对照:(编译错误)带参宏的形式参数表中出现未知字符分析:例如“#defines(r|) r*r”中参数多了一个字符‘|’error C2014: preproc essorcommand must start as first nonwhit e space中文对照:(编译错误)预处理命令前面只允许空格分析:每一条预处理命令都应独占一行,不应出现其他非空格字符error C2015: too many charact ers in constan t中文对照:(编译错误)常量中包含多个字符分析:字符型常量的单引号中只能有一个字符,或是以“\”开始的一个转义字符,例如“char error = 'error';”error C2017: illegal escapesequenc e中文对照:(编译错误)转义字符非法分析:一般是转义字符位于' ' 或" " 之外,例如“char error = ' '\n;”error C2018: unknown charact er '0xhh'中文对照:(编译错误)未知的字符0x hh分析:一般是输入了中文标点符号,例如“char error = 'E';”中“;”为中文标点符号error C2019: expecte d preproc essordirecti ve, found 'charact er'中文对照:(编译错误)期待预处理命令,但有无效字符分析:一般是预处理命令的#号后误输入其他无效字符,例如“#!defineTRUE 1”error C2021: expecte d exponen t value, not 'charact er'中文对照:(编译错误)期待指数值,不能是字符分析:一般是浮点数的指数表示形式有误,例如123.456Eerror C2039: 'identif ier1' : is not a memberof 'identif ier2'中文对照:(编译错误)标识符1不是标识符2的成员分析:程序错误地调用或引用结构体、共用体、类的成员error C2041: illegal digit 'x' for base 'n'中文对照:(编译错误)对于n进制来说数字x非法分析:一般是八进制或十六进制数表示错误,例如“int i = 081;”语句中数字‘8’不是八进制的基数error C2048: more than one default中文对照:(编译错误)default语句多于一个分析:switch语句中只能有一个defau l t,删去多余的de faulterror C2050: switchexpress ion not integra l中文对照:(编译错误)switch表达式不是整型的分析:switch表达式必须是整型(或字符型),例如“switch("a")”中表达式为字符串,这是非法的error C2051: case express ion not constan t中文对照:(编译错误)case表达式不是常量分析:case表达式应为常量表达式,例如“case "a"”中“"a"”为字符串,这是非法的error C2052: 'type' : illegal type for case express ion中文对照:(编译错误)case表达式类型非法分析:case表达式必须是一个整型常量(包括字符型)error C2057: expecte d constan t express ion中文对照:(编译错误)期待常量表达式分析:一般是定义数组时数组长度为变量,例如“int n=10; int a[n];”中n为变量,这是非法的error C2058: constan t express ion is not integra l中文对照:(编译错误)常量表达式不是整数分析:一般是定义数组时数组长度不是整型常量error C2059: syntaxerror : 'xxx'中文对照:(编译错误)‘xxx’语法错误分析:引起错误的原因很多,可能多加或少加了符号xxxerror C2064: term does not evaluat e to a functio n中文对照:(编译错误)无法识别函数语言分析:1、函数参数有误,表达式可能不正确,例如“sqrt(s(s-a)(s-b)(s-c));”中表达式不正确2、变量与函数重名或该标识符不是函数,例如“int i,j; j=i();”中i不是函数error C2065: 'xxx' : undecla red identif ier中文对照:(编译错误)未定义的标识符x xx分析:1、如果xxx为c o ut、cin、scanf、printf、sqrt等,则程序中包含头文件有误2、未定义变量、数组、函数原型等,注意拼写错误或区分大小写。
Visual_C++_6.0常见语法错误信息
Visual_C++_6.0常见语法错误信息第一篇:Visual_C++_6.0常见语法错误信息Visual C++ 6.0常见的语法错误信息1、error C2018: unknown character '0xa1'不认识的字符'0xa1'。
(一般是汉字或中文标点符号)2、error C2065: 'I……' : undeclared identifier“I……”:未声明过的标识符。
3、error C2146: syntax error : missing ';'语法错误:丢了“;”。
4、error C2146: syntax error : missing ')'语法错误:丢了“)”。
5、fatal error C1004: unexpected end of file found 语法错误:丢了“}”。
6、error C2057: expected constant expression希望是常量表达式。
(一般出现在switch语句的case分支中)7、error C2196: case value 'xx' already used值xx已经用过。
(一般出现在switch语句的case分支中)8、error C2181: illegal else without matching if语法错误:if 缺少判断表达式。
第二篇:常见错误信息Keil C 编译器常见警告与错误信息的解决方法1)如果两个或更多c文件都需要使用某非bit型变量,那么声明是应将相应存储类型同时注明,即如果定义“uchar idata cntembuf;”,那么应声明为“extern uchar idata cntembuf;”或者“extern idata cntembuf;”;2)如果是bit型变量,则数据类型“bit”必须注明,而存储类型可以省略;LN认为,keil里之所以将bit变量和其他类型变量分开处理,是keil 面向的处理器都是51内核的,而51内核bit变量只存在于特殊功能寄存器和内存的位寻址区(bdata区),而特殊功能寄存器中的位变量若在两个以上文件中使用各各文件都只能用类似于sbit abcd = P1^6;的形式进行声明,并且keil不检测abcd这个位变量在不同文件中是否代替相同位(例如,可以在另一个c文件中声明为:sbit abcd = P0^5;等),这样一来,用extern声明的bit变量就只有在bdata区了,所以,允许在在一个c文件中定义位变量后,在其它c文件中省略“bdata”这个存储类型;而非bit型变量则可以在特殊功能寄存器,内存,外存,所以声明时要使存储类型与定义时的存储类型相同(也可以在定义和声明时都不规定存储类型,而又编译器根据编译模式自动分配)。
编译错误代码中英对照
error103:Integerorrealvariableexpected缺整型或实型变量
error104:Ordinalvariableexpected缺有序类型变量
error105:INelidentifierexpected缺标号标识符
error36:BEGINexpected缺BEGIN
error37:ENDexpected缺END
error38:Integerexpressionexpected缺整型表达式
error39:Ordinalexpressionexpected缺有序类型表达式
error31:Constantexpected缺常量
error32:Integerorrealconstantexpected缺整型或实型常量
error33:PointerTypeidentifierexpected缺指针类型标识符
error34:Invalidfunctionresulttype无效的函数结果类型
error78:Pointerexpressionexpected缺指针表达式
error79:Integerorrealexpressionexpected缺整型或实型表达式
error80:Labelnotwithincurrentblock标号不在当前块内
error81:Labelalreadydefined标号已定义
error113:Errorinstatement表达式错误
error114:Cannotcallaninterruptprocedure不能调用中断过程
error116:Mustbein8087modetocompilethis必须在8087模式编译
VS编译器常见错误中英文对照表
分析:可能缺少“{”、“)”或“;”等语言符号
error C2144: syntax error : missing ')' before type 'xxx'
中文对照:(编译错误)在xxx类型前缺少‘)’
分析:一般是函数调用时定义了实参的类型
VS编译器常见错误中英文对照表
fatal error C1003: error count exceeds number; stopping compilation
中文对照:(编译错误)错误太多,停止编译
分析:修改之前的错误,再次编译
fatal error C1004: unexpected end of file found
中文对照:(编译错误)重复定义形式参数xxx
分析:函数首部中的形式参数不能在函数体中再次被定义
error C2084: function 'xxx' already has a body
中文对照:(编译错误)已定义函数xxx
分析:在VC++早期版本中函数不能重名,6.0版本中支持函数的重载,函数名可以相同但参数不一样
分析:例如“int i = 1 / 0;”除数为0
error C2133: 'xxx' : unknown size
中文对照:(编译错误)数组xxx长度未知
分析:一般是定义数组时未初始化也未指定数组长度,例如“int a[];”
error C2137: empty character constant。
error C2181: illegal else without matching if
VC++6.0常见编译错误中英文对照表
VC++6.0常见编译错误中英文对照表fatal error C1003: error count exceeds number; stopping compilation中文对照:(编译错误)错误太多,停止编译分析:修改之前的错误,再次编译fatal error C1004: unexpected end of file found中文对照:(编译错误)文件未结束分析:一个函数或者一个结构定义缺少“}”、或者在一个函数调用或表达式中括号没有配对出现、或者注释符“/*…*/”不完整等fatal error C1083: Cannot open include file: 'xxx': No such file or directory 中文对照:(编译错误)无法打开头文件xxx:没有这个文件或路径分析:头文件不存在、或者头文件拼写错误、或者文件为只读fatal error C1903: unable to recover from previous error(s); stopping compilation 中文对照:(编译错误)无法从之前的错误中恢复,停止编译分析:引起错误的原因很多,建议先修改之前的错误error C2001: newline in constant中文对照:(编译错误)常量中创建新行分析:字符串常量多行书写error C2006: #include expected a filename, found 'identifier'中文对照:(编译错误)#include命令中需要文件名分析:一般是头文件未用一对双引号或尖括号括起来,例如“#include stdio.h”error C2007: #define syntax中文对照:(编译错误)#define语法错误分析:例如“#define”后缺少宏名,例如“#define”error C2008: 'xxx' : unexpected in macro definition中文对照:(编译错误)宏定义时出现了意外的xxx分析:宏定义时宏名与替换串之间应有空格,例如“#define TRUE"1"”error C2009: reuse of macro formal 'identifier'中文对照:(编译错误)带参宏的形式参数重复使用分析:宏定义如有参数不能重名,例如“#define s(a,a) (a*a)”中参数a重复error C2010: 'character' : unexpected in macro formal parameter list中文对照:(编译错误)带参宏的形式参数表中出现未知字符分析:例如“#define s(r|) r*r”中参数多了一个字符‘|’error C2014: preprocessor command must start as first nonwhite space中文对照:(编译错误)预处理命令前面只允许空格分析:每一条预处理命令都应独占一行,不应出现其他非空格字符error C2015: too many characters in constant中文对照:(编译错误)常量中包含多个字符分析:字符型常量的单引号中只能有一个字符,或是以“\”开始的一个转义字符,例如“char error = 'error';”error C2017: illegal escape sequence中文对照:(编译错误)转义字符非法分析:一般是转义字符位于 ' ' 或 " " 之外,例如“char error = ' '\n;”error C2018: unknown character '0xhh'中文对照:(编译错误)未知的字符0xhh分析:一般是输入了中文标点符号,例如“char error = 'E';”中“;”为中文标点符号error C2019: expected preprocessor directive, found 'character'中文对照:(编译错误)期待预处理命令,但有无效字符分析:一般是预处理命令的#号后误输入其他无效字符,例如“#!define TRUE 1”error C2021: expected exponent value, not 'character'中文对照:(编译错误)期待指数值,不能是字符分析:一般是浮点数的指数表示形式有误,例如123.456Eerror C2039: 'identifier1' : is not a member of 'identifier2'中文对照:(编译错误)标识符1不是标识符2的成员分析:程序错误地调用或引用结构体、共用体、类的成员error C2041: illegal digit 'x' for base 'n'中文对照:(编译错误)对于n进制来说数字x非法分析:一般是八进制或十六进制数表示错误,例如“int i = 081;”语句中数字‘8’不是八进制的基数error C2048: more than one default中文对照:(编译错误)default语句多于一个分析:switch语句中只能有一个default,删去多余的defaulterror C2050: switch expression not integral中文对照:(编译错误)switch表达式不是整型的分析:switch表达式必须是整型(或字符型),例如“switch ("a")”中表达式为字符串,这是非法的error C2051: case expression not constant中文对照:(编译错误)case表达式不是常量分析:case表达式应为常量表达式,例如“case "a"”中“"a"”为字符串,这是非法的error C2052: 'type' : illegal type for case expression中文对照:(编译错误)case表达式类型非法分析:case表达式必须是一个整型常量(包括字符型)error C2057: expected constant expression中文对照:(编译错误)期待常量表达式分析:一般是定义数组时数组长度为变量,例如“int n=10; int a[n];”中n为变量,这是非法的error C2058: constant expression is not integral中文对照:(编译错误)常量表达式不是整数分析:一般是定义数组时数组长度不是整型常量error C2059: syntax error : 'xxx'中文对照:(编译错误)‘xxx’语法错误分析:引起错误的原因很多,可能多加或少加了符号xxxerror C2064: term does not evaluate to a function中文对照:(编译错误)无法识别函数语言分析:1、函数参数有误,表达式可能不正确,例如“sqrt(s(s-a)(s-b)(s-c));”中表达式不正确2、变量与函数重名或该标识符不是函数,例如“int i,j; j=i();”中i不是函数error C2065: 'xxx' : undeclared identifier中文对照:(编译错误)未定义的标识符xxx分析:1、如果xxx为cout、cin、scanf、printf、sqrt等,则程序中包含头文件有误2、未定义变量、数组、函数原型等,注意拼写错误或区分大小写。
VC++6.0常见错误信息对照
Visual C++ 6.0 常见错误信息对照表1.Fatal error C1001:Internal complier error致命错误C1001 内部编译器错误。
这是VC自身存在的BUG。
该问题最早在Microsoft Visual Studio 6.0 Service Pack 6 中得到了纠正。
要解决给问题,请到微软网站下载最新的 Visual C++ 6.0 Service Pack。
2.Fatal error C1010:unexpected end of file while lookingfor precompiled header diective寻找预编译头文件路径时遇到了不该遇到的文件尾。
一般是没有#include”stdafx.h”。
3.Fatal error C1083:Cannot open includefile:’R······H’:No such file or ditectory不能打开包含文件“R······H”:没有这样的文件或目录。
4.error C2011:’C······’:’class’type redefinition类”C······”重定义。
5.error C2018:unknown character’0xa3’不认识的字符’0xa3’。
一般是汉字或中文标点符号。
6.error C2057:expectde constant expression希望是常量表达式。
一般出现在switch语句的case分支中。
7.error C2065:’IDD_MYDIALOG’:undeclared identifier“IDD_MYDIALOG”:未声明过的标识符。
VC 6.0编译器错误整理
VC 6.0编译器错误整理收藏编程时经常遇到一些编译错误,这些都是我遇到过的,去百度、Google找了半天找到的,现在整理一下,方便以后查找。
统一格式:ID.【错误提示】:编译器提示的错误信息【说明】:产生此错误的根本原因【解决方法】:解决此错误的具体方法1. 【错误提示】: libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main【说明】: Windows项目要使用Windows子系统, 而不是Console 【解决方法】:[Project] --> [Settings] --> 选择"Link"属性页,在Project Options中将/subsystem:console改成/subsystem:windows2. 【错误提示】:LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16【说明】:控制台项目要使用Console子系统, 而不是Windows【解决方法】:[Project] --> [Settings] --> 选择"Link"属性页,在Project Options中将/subsystem:windows改成/subsystem:console3. 【错误提示】:msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16【说明】:通常, MFC项目的程序入口函数是WinMain, 如果编译项目的Unicode版本, 程序入口必须改为wWinMainCRTStartup, 所以需要重新设置程序入口【解决方法】:[Project] --> [Settings] --> 选择"C/C++"属性页,在Category中选择Output,再在Entry-point symbol中填入wWinMainCRTStartup, 即可4. 【错误提示】:nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadexnafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex【说明】:这是因为MFC要使用多线程时库【解决方法】:[Project] --> [Settings] --> 选择"C/C++"属性页,在Category中选择Code Generation,再在Use run-time library中选择Debug Multithreaded 或者multithreaded其中,Single-Threaded 单线程静态链接库(release版本)Multithreaded 多线程静态链接库(release版本)multithreaded DLL 多线程动态链接库(release版本)Debug Single-Threaded 单线程静态链接库(debug版本)Debug Multithreaded 多线程静态链接库(debug版本)Debug Multithreaded DLL 多线程动态链接库(debug版本)单线程: 不需要多线程调用时, 多用在DOS环境下多线程: 可以并发运行静态库: 直接将库与程序Link, 可以脱离MFC库运行动态库: 需要相应的DLL动态库, 程序才能运行release版本: 正式发布时使用debug版本: 调试阶段使用5. 【错误提示】:Compiling... ,Error spawning cl.exe【说明】:这个问题很多情况下是由于路径设置的问题引起的,“CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目录\VC98\Bin”下面,你可以到相应的路径下找到这个应用程序。
VC6常见错误
VC6.0编译常见错误2010-01-01 22:39:24分类:C/C++第一部分编译错误1.error C2001: newline in constant编号:C2001直译:在常量中出现了换行。
错误分析:(1)字符串常量、字符常量中是否有换行。
(2)在这句语句中,某个字符串常量的尾部是否漏掉了双引号。
(3)在这语句中,某个字符创常量中是否出现了双引号字符“"”,但是没有使用转义符“\"”。
(4)在这句语句中,某个字符常量的尾部是否漏掉了单引号。
(5)是否在某句语句的尾部,或语句的中间误输入了一个单引号或双引号。
2.error C2015: too many characters in constant编号:C2015直译:字符常量中的字符太多了。
错误分析:单引号表示字符型常量。
一般的,单引号中必须有,也只能有一个字符(使用转义符时,转义符所表示的字符当作一个字符看待),如果单引号中的字符数多于4个,就会引发这个错误。
另外,如果语句中某个字符常量缺少右边的单引号,也会引发这个错误,例如:if (x == 'x || x == 'y') { … }值得注意的是,如果单引号中的字符数是2-4个,编译不报错,输出结果是这几个字母的ASC码作为一个整数(int,4B)整体看待的数字。
两个单引号之间不加任何内容会引发如下错误:error C2137: empty character constant。
3.error C2018: unknown character '0x##'编号:C2018直译:未知字符‘0x##’。
错误分析:0x##是字符ASC码的16进制表示法。
这里说的未知字符,通常是指全角符号、字母、数字,或者直接输入了汉字。
如果全角字符和汉字用双引号包含起来,则成为字符串常量的一部分,是不会引发这个错误的。
4.error C2041: illegal digit '#' for base '8'编号:C2141直译:在八进制中出现了非法的数字‘#’(这个数字#通常是8或者9)。
附录2 Visual C++ 6.0常见错误信息表_C语言程序设计(第2版)_[共2页]
附录2 Visual C++ 6.0常见错误信息表1.fatal error C1010: unexpected end of file while looking for precompiled header directive。
寻找预编译头文件路径时遇到了不该遇到的文件尾。
(一般是没有#include "stdafx.h"。
)2.fatal error C1083: Cannot open include file: 'xxx.h': No such file or directory不能打开包含文件“xxx.h”:没有这样的文件或目录。
3.error C2011: 'C……': 'class' type redefinition类“C……”重定义。
4.error C2018: unknown character '0xa3'不认识的字符'0xa3'。
(一般是汉字或中文标点符号。
)5.error C2057: expected constant expression希望是常量表达式。
(一般出现在switch语句的case分支中。
)6.error C2065: 'xxx' : undeclared identifier“xxx”:未声明过的标识符。
7.error C2065: 'printf' : undeclared identifier使用了库函数printf()却没有包含头文件“stdio.h”。
在程序中使用了库函数必须包含其相应的头文件。
8.error C2143: syntax error: missing ':' before '{'句法错误:“{”前缺少“;”。
9.error C2146: syntax error : missing ';' before identifier 'xxx'句法错误:在“xxx”前丢了“;”。