第一篇:VC6.0编译常见错误的详解及其错误分析(范文)
VC6.0编译常见错误
第一部分 编译错误
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)。
错误分析:
如果某个数字常量以“0”开头(单纯的数字0除外),那么编译器会认为这是一个
8进制数字。例如:“089”、“078”、“093”都是非法的,而“071”是合法的,等同于是进制中的“57”。
5. error C2065: 'xxxx' : undeclared identifier
编号:C2065
直译:标识符“xxxx”未定义。
错误分析:
首先,解释一下什么是标识符。标志符是程序中出现的除关键字之外的词,通常由字母、数字和下划线组成,不能以数字开头,不能与关键字重复,并且区分大小写。变量名、函数名、类名、常量名等等,都是标志符。所有的标志符都必须先定义,后使用。标志符有很多种用途,所以错误也有很多种原因。
(1)如果“xxxx”是一个变量名,那么通常是程序员忘记了定义这个变量,或者拼写
错误、大小写错误所引起的,所以,首先检查变量名是否正确。(关联:变量,变量定义)
(2)如果“xxxx”是一个函数名,那就怀疑函数名是否没有定义。可能是拼写错误或
大小写错误,当然,也有可能是你所调用的函数根本不存在。还有一种可能,你写的函数在你调用所在的函数之后,而你有没有在调用之前对函数原形进行
申明。(关联:函数申明与定义,函数原型)
(3)如果“xxxx”是一个库函数的函数名,比如“sqrt”、“fabs”,那么看看你在cpp
文件已开始是否包含了这些库函数所在的头文件(.h文件)。例如,使用“sqrt”函数需要头文件math.h。如果“xxxx”就是“cin”或“cout”,那么一般是没有包含“iostream.h”。(关联:#include,cin,cout)
(4)如果“xxxx”是一个类名,那么表示这个类没有定义,可能性依然是:根本没有
定义这个类,或者拼写错误,或者大小写错误,或者缺少头文件,或者类的使
用在申明之前。(关联:类,类定义)
(5)标志符遵循先申明后使用原则。所以,无论是变量、函数名、类名,都必须先
定义,后使用。如使用在前,申明在后,就会引发这个错误。
(6)C++的作用域也会成为引发这个错误的陷阱。在花括号之内变量,是不能在这个
花括号之外使用的。类、函数、if、do(while)、for所引起的花括号都遵循这个规则。(关联:作用域)
(7)前面某句语句的错误也可能导致编译器误认为这一句有错。如果你前面的变量
定义语句有错误,编译器在后面的编译中会认为该变量从来没有定义过,以致
后面所有使用这个变量的语句都报这个错误。如果函数申明语句有错误,那么
将会引发同样的问题。
6. error C2086: 'xxxx' : redefinition
编号:C2374
直译:“xxxx”重复申明。
错误分析:
变量“xxxx”在同一作用域中定义了多次。检查“xxxx”的每一次定义,只保留一个,或者更改变量名。
7. error C2374: 'xxxx' : redefinition;multiple initialization
编号:C237
4直译:“xxxx”重复申明,多次初始化。
错误分析:
变量“xxxx”在同一作用域中定义了多次,并且进行了多次初始化。检查“xxxx”的每一次定义,只保留一个,或者更改变量名。
8. C2143: syntax error : missing ';' before(identifier)'xxxx'
编号:C2143
直译:在(标志符)“xxxx”前缺少分号。
错误分析:
这是VC6的编译期最常见的误报,当出现这个错误时,往往所指的语句并没有错误,而是它的上一句语句发生了错误。其实,更合适的做法是编译器报告在上一句语句的尾部缺少分号。上一句语句的很多种错误都会导致编译器报出这个错误:
(1)上一句语句的末尾真的缺少分号。那么补上就可以了。
(2)上一句语句不完整,或者有明显的语法错误,或者根本不能算上一句语句(有
时候是无意中按到键盘所致)。
(3)如果发现发生错误的语句是cpp文件的第一行语句,在本文件中检查没有错误,而且这个文件使用双引号包含了某个头文件,那么检查这个头文件,在这个头
文件的尾部可能有错误。
9. error C2137: empty character constant
编号:C2137
直译:空的字符定义。
错误分析:
原因是连用了两个单引号,而中间没有任何字符。一般的,单引号表示字符型常量,单引号中必须有,也只能有一个字符(使用转义符时,转义符所表示的字符当作一个字符看待)。两个单引号之间不加任何内容是不允许的。
需要注意的是:如果单引号中的字符数是2-4个,编译不报错,输出结果是这几个字母的ASC码作为一个整数(int,4B)整体看待的数字。
如果单引号中的字符数多于4个,会引发2015错误:error C2015: too many characters in constant。
10. error C2374: 'xxxx' : redefinition;multiple initialization
编号:C2374
直译:“xxxx”重复申明,多次初始化。
错误分析:
变量“xxxx”在同一作用域中定义了多次,并且进行了多次初始化。检查“xxxx”的每一次定义,只保留一个,或者更改变量名。
第二部分 链接错误
1. error LNK2001: unresolved external symbol _main
编号:LNK2001
直译:未解决的外部符号:_main。
错误分析:缺少main函数。看看main的拼写或大小写是否正确。
2. error LNK2005: _main already defined in xxxx.obj
编号:LNK2005
直译:_main已经存在于xxxx.obj中了。
错误分析:
直接的原因是该程序中有多个(不止一个)main函数。这是初学C++的低年级同学在初次编程时经常犯的错误。这个错误通常不是你在同一个文件中包含有两个main函数,而是在一个project(项目)中包含了多个cpp文件,而每个cpp文件中都有一个main函数。引发这个错误的过程一般是这样的:你写完成了一个C++程序的调试,接着你准备写第二个C++文件,于是你可能通过右上角的关闭按钮关闭了当前的cpp文件字窗口(或者没有关闭,这一操作不影响最后的结果),然后通过菜单或工具栏创建了一个新的cpp文件,在这个新窗口中,程序编写完成,编译,然后就发生了以上的错误。原因是这样的:你在创建第二个cpp文件时,没有关闭原来的项目,所以你无意中新的cpp文件加入你上一个程序所在的项目。切换到“File View”视图,展开“Source Files”节点,你就会发现有两个文件。
在编写C++程序时,一定要理解什么是Workspace、什么是Project。每一个程序都是一个Project(项目),一个Project可以编译为一个应用程序(*.exe),或者一个动态链接库(*.dll)。通常,每个Project下面可以包含多个.cpp文件,.h文件,以及其他资源文件。在这些文件中,只能有一个main函数。初学者在写简单程序时,一个Project中往往只会有一个cpp文件。Workspace(工作区)是Project的集合。在调试复杂的程序时,一个Workspace可能包含多个Project,但对于初学者的简单的程序,一个Workspace往往只包含一个Project。
当完成一个程序以后,写另一个程序之前,一定要在“File”菜单中选择“Close Workspace”项,已完全关闭前一个项目,才能进行下一个项目。避免这个错误的另一个方法是每次写完一个C++程序,都把VC6彻底关掉,然后重写打开VC6,写下一个程序。
第二篇:公文常见错误分析
文秘和办公室工作学习资料
(第13期)
张家口市人口计生委办公室2005年7月31日
公文常见错误分析
一、生造文种
《办法》所确定的公文文种共有13类14种,除此之外,均不可直接行文,但可作为“印发”、“颁发”、“通知”的“附件”行文。例如,《关于××市区退休人员一次性缴纳医疗费分期缴费的具体操作规定》、《关于使用社会保障卡有关问题的说明》等,这里的“操作规定”、“说明”均不应作为文种使用,可以改成《××关于印发市区退休人员一次性缴纳医疗费分期缴费的具体操作规定的通知》、《××关于印发使用社会保障卡有关问题的说明的通知》,不能作为文种使用的还有“条例”、“规定”、“办法”、“总结”、“计划”等,有的甚至把“安排”、“要点”、“细则”这些既不是公文文种又不是应用文体种类的东西常常作为公文文种直接行文,都是错误的。
二、混用文种
常见的是把相近的“请示”和“报告”两种文种张冠李戴。例如:《××关于批准成立××学会的报告》,《××关于元旦文艺联欢会所需经费的报告》。两个标题内容十分明确,就是要求上级解决问题,应该用“请示”而不是“报告”。报告是“向上级机关 1
汇报工作、反映情况、答复上级机关的询问”的,这类报告,只要把情况汇报、反映清楚即可,目的是让上级和领导了解发展情况,掌握工作进度,做到心中有数,不需要回复;而请示是“向上级机关请求指示、批准”的,需要回复,两者在使用上有很大的区别。有时也存在“请示”和“函”混用。《办法》规定:不相隶属单位之间相互商洽工作、询问和答复问题,请求批准和答复审批事项是用函。可是有些单位当有求于对方(不相隶属单位)时却用请示。
三、规矩格式乱
《格式》中就公文的格式、标准都作出了明确的规定。在具体行文中常见错误有:
1.排版规格不当。公文标题应在红色反线下空2行,用2号小标宋体字,正文用3号仿宋体字,一般每面排22行,每行排28个字。而在实际操作中往往上各行其是,严重影响了公文的严肃性。
2.发文号标注不规范。主要表现在,一是错用括号。如,×政建(2003)240号;二是用虚数。如×政办〔2003〕005号;三是字体字号不标准。《格式》规定:发文字号,用3号仿宋体字,居中排布;年份、序号用阿拉伯数码标识;年份应标全称,用六角括号“〔〕”括入;序号不编虚位(即1不编为001),不加 “第”字。特别对于字号和字体,有的小于3号;有的用小标宋体字,有的用楷体,也有的用黑体,五花八门。
3.标题滥用符号。《办法》第三章公文格式第十条第六款中明确规定“公文标题中除法规、规章名称加书名号外,一般不用标点符号”。但是在实际中,滥用符号的例子屡见不鲜。如“关于转发×市政府《关于强化非典型肺炎防治工作责任制的紧急通知》的通知”、“关于转发×局《关于实行在网上公示建筑企业不良行为的通知》的通知”,以上两例中的“《》”符号都不应该使用,应改为:关于转发×市政府关于强化非典型肺炎防治工作责任制的紧急通知的通知”、“关于转发×局关于实行在网上公示建筑企业不良行为的通知的通知”,4.结构层次序数使用不规则。《办法》规定:结构层次序数,第一层为“
一、”,第二层为“
(一)”,第三层为“1.”,第四层为“(1)”。但是目前有些单位一些公文序数数词仍然存在使用不规则的情况,要注意《办法》规定的序数数词的写法,其中“
一、”下面是顿号,“1.”下面是圆号,而“
(一)”和“(1)”括号外面是不带顿和点号。
5.引用文号格式不对。《办法》规定:“引用公文应当先引标题,后引发文字号。”目前,有些单位对这一规定没有掌握好。如,“据×办〔2003〕12号文《关于××××××的通知》”,其引用文号的方法就是不符合规定的,正确的引用方式应为据《关于××××××通知》(×办〔2003〕12号)。
6.成文时间标志不清。单一机关制发的公文在落款处不署制发机关名称,只标识成文时间,用汉字将年、月、日标全;“零”
写为“0”,并且右空4字,但在实际写作中样式更是花样百出,有的成文日期甚至早于签发日期。
7.“抄报”现象依然存在。在行政公文实际中,一些单位对上级单位抄送文件时仍然沿用“抄报”一词,这是要注意的。目前,行政公文无论是对上级还是对下级抄送,概用“抄送”一词。关于这,《办法》中有多出相关表述,第十七条规定“应当抄送被越过的上级机关”等,它表示行政公文不再使用“抄报”一词。
8.附件标注不符合规定。附件是公文的有机组成部分,《办法》对附件有明确的要求,但有些公文出现附件和正文之间的间隔或大或小,附件顶格标识、附件序号使用汉语数字标识,附件名称后加标点符号等毛病。特别是附件跟附注区分不清,在印发文件时不管是附件还是附注全当作附件,导致关系的确认错误。
9.盖印不规范。印章是公文制发机关对公文生效负责的凭证,必须按规定正确使用。但不规范现象常见于一些文件中:如印章歪斜、不清晰、排列不齐;印章间相交或相切,相距超过3mm;联合行文单位印章顺序混乱,或一排超过3个,或左右距公文纸边距离不合标准等。
第三篇:Android4.0编译错误记录
1.make: ***
[out/host/linux-x86/obj/STATIC_LIBRARIES/libMesa_intermediates/src/glsl/linker.o] Error 1 解决方法: vim external/mesa3d/src/glsl/linker.cpp
添加:
#include
2.make: ***
[out/host/linux-x86/obj/EXECUTABLES/test-librsloader_intermediates/test-librsloader] Error 1 解决办法:
vim external/llvm/llvm-host-build.mk
添加:
LOCAL_LDLIBS :=-lpthread-ldl
3.make: ***
[out/host/linux-x86/obj/STATIC_LIBRARIES/libgtest_host_intermediates/gtest-all.o] Error 1 解决方法:
vim external/gtest/include/gtest/internal/gtest-param-util.h
添加:
#include
4.
第四篇:标本采集常见错误分析
标本采集常见错误分析
送检标本的质量控制包括分析前、分析中、分析后三个主要过程的质量管理。大多数不满意的检验报告单可溯源到标本质量不符合要求,而分析前标本的质量控制对检验结果的可靠性有至关重要的影响,标本采集是影响标本质量最重要的因素之一。我们在加强与临床、护理沟通的同时,坚持标本的核实验收和不合格标本退回制度,目的就是为了把好标本质量关。以下是近年来血液及其他标本采集中最常见的错误,希望能引起重视。
1.凝血不充分:此类错误排在第一位,主要是抗凝血中存在小凝块,多发生在血常规检测中,为采血后标本没有充分颠倒混匀所致;另外,标本量过多,由于抗凝剂的相对不足,血浆中出现微血凝块的可能性增加。微血凝块除易阻塞检测仪器外,由于血液内部分成分的消耗而影响检测结果。一份只有仔细检查才能发现小凝块的标本,可以使血小板降低30%甚至更多,红细胞、白细胞计数也可以降低10%左右。我们规定,对用于血常规的标本均轻轻颠倒并仔细观察,绝大部分可以检查出。2.抗凝剂与血液比例不正确:在凝血功能测定中,常有一些标本量明显不足,特别是儿童和入院检查病人标本,由于小孩采血难,入院时需检查项目多,最易发生抽血量不足,使PT、KPTT和TT假性延长,将误导临床诊治。因此,血液未到刻度的标本一律退回重抽。
3.标本溶血:许多指标在红细胞内和血清(血浆)明显不同,溶血可使LDH、HBDH、血K+、AST、ALT或等值异常升高。此类错误是采血时的一些不良习惯造成,如:压脉时间过长,采血不顺利、抽血速度太快、血液注入容器时未取下针头或用力过猛、等均可造成溶血。我们作过实验,选择20位体格检查者,用两种方法进行比较:⑴用注射器抽血后不去除针头直接将针头插入真空采血管,这时在真空管负压作用下针管内的血液被吸入;⑵用注射器抽血后先除去针头,然后打开真空采血管盖子缓缓注入标本,两种采血方法的标本同时作部分生化项目检测,结果是:前者比后者LDH上升23.4%-58.2%,平均33.7%;HBDH上升22.5%-61.4%,平均35.4%;AST上升6.7%-31.6%,平均13.7%;ALT上升4.7%-18.2%,平均11.4%;血K+上升23.7%-71.2%,平均36.1%,其它如TP、GGT和UREA等也有或多或少的变化。因此,我们主张用真空采血系统自然流出的标本为宜,如果必须用注射器抽血,抽血后要取下针头,再缓缓将血液注入标本采集管。对于未用真空采血系统的单位,若注射器和针头连接不紧,采血时有空气进入或产生泡沫,使用劣质采血器,标本收集管没有干燥均易造成溶血。
4.采血部位不当:有些病人需多次检查,或输液时间较长,有的护士会在病人输液更换瓶子时放出一些血液送检,即使先去除前面的10ml血液,结果也有明显变化。如一例输脂肪乳后直接从输液的静脉中采血,导致了许多结果错误,影响前三位的是:TG为12.4mmol/L(平时为1.0 mmol/L左右),血小板达560×109/L(上升了4倍多),总蛋白浓度从60左右上升到91.6(g/L)。其它常有明显影响的有血糖、血电解质等项目。虽临床也知道正确的采血方法,但由于护理人员流动性大,工作量超负荷,不时有此类标本送检,只有反复与临床沟通、宣传,加上对标本审核,对于血细胞比例明显不对,结果不合理或有异常变化,及时与临床联系,减少不合格报告发出。
5.采血量不足:对于血培养而言,采血过少可降低培养的阳性率。有文献报告,当培养的血量从2ml增加至20ml时,血培养的阳性率增加30%—50%,培养血量每增加1ml,阳性率增加3%—5%。由于标本已经注入培养瓶,不能检查是否符合要求,只有加强沟通交流,共同努力提高检验质量。
6.标本采集时间不当:对细菌培养、激素检查、找疟原虫或丝虫病原体,需在特定的时间,以提高阳性率。
7.标本运送和处理不及时:标本的运送虽不属采集范畴,但标本采集再规范,若不能及时送检,将严重影响检验质量。尿常规标本需在二小时内检测完成,否则细胞等有形成分开始破坏;离体过长的标本作血细胞分析时会影响分类结果;生化检测的标本也因为细胞内外物质交换而变化。我们要求标本及时送检,到检验中心的标本尽快测定,不能及时测定的生化、免疫等标本及时分离血清,加盖并置4℃冷藏。
以上是标本采集过程常见的错误,属于分析前质量控制的重要部分,做好分析前质量控制是保证检验结果正确是前题和关键。有人对一份临床标本的整个测试时间分布进行统计,结果显示报告申请、抽血和运输占整个测试时间的55%,标本编号、分离和编程占14%,上机检测占4%,分析前的工作超过70%;用于仪器检测的工作量为25%;核对和报告的时间不足3%。除标本采集外,病人的准备工作,所用药物等对结果也有影响。如检查2小时血糖时没有按规定进餐(1个鸡蛋,2根油条,1个包子加1杯牛奶),结果为7.4 mmol/L,重新检查按规定饮食(75克糖溶于250 ml水中,5分钟内喝完),结果为5.4 mmol/L。
质量是检验科的生命,质量的提高要全部医务人员的共同努力,我们应主动和临床乃至患者的沟通,加深了解。通过沟通,让双方都能够从思想上认识到分析前质量控制的重要性,并能真正重视标本的采集工作,从而保证送检标本的质量。另外,检验科工作人员也要提高质量意识,认真负责地做好标本的保存、处理等工作,并严格执行《不合格标本拒收制度》,做好解释工作。
第五篇:个人简历常见错误
必读:6个简历里常见的错误
从头到尾我也做过一些招聘工作,从简历筛选、通知面试、面试都在进行。发现很多人在简历中犯了不少错误,也许对于求职者来说是很小的问题,但是其实往往决定了一个机会的得失,觉得有必要整理出来,给大家一个提醒。
1、简历上的电话停机或者关机状态
这个问题一说出来,可能大家会觉得很可笑,怎么可能是一个重要问题。我也很惊讶,就我们统计的结果来看,筛选出的简历,大约有20%是由于电话停关机的问题没办法通知到的。我总结一个原因是不少异地求职的人员到当地求职后,发送简历的时候忘记把已经更换的号码在简历上更新了;另一个是很多人使用的神州行、动感地带的号码需要充值,但是觉得晚
一、两天没事;殊不知,每天求职的简历成百上千,通知面试的人不可能天天跟踪你的电话开通情况的。即使暂时不方便接听电话,也建议可申请秘书台服务,不漏掉一个可能的机会。注意更新自己的简历联系方式,保证自己能随时被找到,让自己处在随时启动的状态,会比其他人得到更多的机会。
2、未及时更改、更新简历信息
尤其是求职信。往往收到一份简历,求职信写得恳切规范,但是到末尾一看,称呼的“贵公司”名字原来根本不是我公司,不免大倒冷水,也对求职者的诚意表示怀疑。另外就是不少人,求职信里头一句还写着“我是一个刚走出校门的学生„..”看到简历里,原来已经工作1-2年了。发出一份简历是通过考虑,慎重地,但是这样的简历,很难让人相信,不是随手的游戏。
3、罗列全部实习经历
这在毕业生的简历里经常发现。为了提高自己的命中率,不少毕业生会在工作经验那栏把自己所有的实习经历写出来。粗看简历,觉得有很多工作经验,但是仔细一看,就会发现很乱,各个经历之间是毫无关联和逻辑的,家教、促销、网络管理等等。其实就毕业生来说,没有实际的工作经验是客观事实,用人单位不会因为你罗列了很多短期实践就给你面试机会,更看重的是你是否有能给自己加分的思想和与众不同的潜力。罗列经历,只能让自己的简历看上去很杂乱。
4、大量、多次投递岗位
一般的求职成功经验是多撒网,多投递简历,反正在网络上多次投递的边际成本为0。但是这个多撒网,指的是有的放矢地投递,而非毫无目的。统计中,大约有35%的简历是盲目投递的,有的简历根本不完整,只写了姓名和电话,正文部分完全是空白;有的软件专业毕业,把所有的硬件岗位都申请了;有的多次被拒后,仍每天投递;还有的几乎投递了公司所有的招聘岗位。如此疯狂、不成熟的投递方式,并不能带来高的命中率,不了解自己,不了解职位的要求,很难让用人单位相信你的符合度和稳定性。真正命中率高的,往往是成熟的求职者:对招聘要求做了仔细的揣摩,根据自身条件和岗位符合度投递简历,并为面试做了认真准备。
5、简历条理不清晰
一般的简历模版,都会分工作经验和学习经历两部分,为了突出简历,一些求职者会创造新的模版或者按照自己的思路填写简历,但是简历筛选人每天在查阅大量的简历,遇到标新立异的简历往往很头痛,因为不是按常规的条理来写的,很难从中找到需要的信息,尤其3页以上的简历,更需要有非常清楚的条理。或者就是发现了合适的简历,但是因为模版问题,联系方式总要到处去找。其实建议大家就用网站推荐的模版比较好,清楚规范,便于理解。
6、爱用附件简历
为了省事,一些人喜欢使用附件简历,直接发送到公布的邮箱。但是现在电脑病毒越来越多,很多求职者是在网吧里发送简历的,各个用人单位,尤其是大公司的邮箱,防备特别严格,附件发送过来的简历,十有五、六是乱码。打不开,也无法一一直接回复各个求职者的心情,是很难受的。
常有人在论坛上问我,为什么投递了那么多简历,都没有回音?但是也有人跟帖,自己投递的命中率是很高的。没有回音的原因可能有很多,但是我建议,那些苦苦等待回音的人们,打开自己的简历,看看是否有以上问题?(完)