C语言常见错误指令
C语言常见错误指令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 N 100”?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常量中包含多个字符?分析:字符型常量的单引号中只能有一个字符,或是以??“\”开始的一个转义字符?error?C2017:?illegal?escape?sequence???转义字符非法分析:一般是转义字符位于?'?'?或?"?"?之外,例如“charerror?=?'?'\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?'idenifier2'标识符1不是标识符的成员分析:程序错误地调用或引用结构体、共用体、类的成员?error?C2048:?more?than?one?default??default语句多于一个?分析:switch语句中只能有一个default,删去多余的default?error?C2050:?switch?expression?not?integral?switch表达式不是整型的? 分析:switch表达式必须是整型(或字符型),例如“switch?(”a“)”中表达式为字符串,这 是非法的 erro