王牌811.致命错误C1002错误信息compilerisoutofheapspaceinpass2错误分析编译器在执行第二阶段堆空间溢出。编译器运行的动态内存空间不足,在编译器(C2.EXE)执行第二阶段。通常,这意味着该程序有太多的符号或者复杂的表达式。解决方案:将文件文件分为几个较小的源文件。将复杂的表达式成较小的子表达式。删除在系统中消耗大量的内存运行的其他程序或驱动程序。2.致命错误C1023错误信息cannotopensourcefile'filename'错误分析无法打开源文件。给定的文件不存在,或者没有被发现,从而导致无法打开。如果只出现错误号而没有出现错误信息,则代表编译器用完了文件句柄。解决方案确保环境的设置是有效的,为文件指定正确的路径。此错误可能是没有足够的文件句柄引起的。关闭一些已经打开的应用程序,然后重新编译。试图打开一个文件或目录,如果您没有权限可能导致此错误。将文件移动到一个您有访问权限的目录下,或要求您的网络管理员授予您访问该文件的权限。请确保该文件的名称拼写正确。23.致命错误C1034错误信息'file':noincludepathset错误分析头文件没有设置包含路径。INCLUDE环境变量还没有设置。解决方案在工具菜单上选择选项命令进行设置。在选项对话框中,选择Directiories标签。显示目录框,选择包含文件并指定包含文件的路径。如果您使用的是命令行编译器,运行的vcvars32.bat批处理文件设置INCLUDE环境变量。4.致命错误C1042错误信息cannotopencompilerintermediatefile-nosuchfileordirectory错误分析无法打开编译器中间文件,没有这样的文件或目录。编译器无法创建在编译过程中使用的中间文件,因为TMP环境变量设置为一个无效的目录或路径。解决方案使用SET命令来更改TMP环境变量,使其指向一个有效的目录。5.致命错误C1053错误信息'identifier':functiontoolarge错误分析'identifier'功能过于庞大。函数太大无法进行编译。解决方案王牌83您可以尝试下优化编译,或者将原函数分成两个或多个函数。请注意,内联函数调用例程可能使函数变得很大。6.致命错误C1055错误信息compilerlimit:outofkeys错误分析编译器限制:键值溢出。正在编译的文件中包含太多的符号。编译器建立了一个符号表并且使用哈希键来查找表中的符号。此错误指示编译器已达到了自身的键值限制。解决方案尝试将原文件分成小的文件,并重新编译。只包括那些绝对必要的头文件。在可能的地方,重复使用临时和全局变量,以便减少符号生成,从而需要较少的键值7.致命错误C1058错误信息compilerlimit:toomanyformalarguments错误分析编译器限制:太多的形式参数。该函数的声明有太多的形参。解决方案通过结构或结构体指针减少参数的个数。8.致命错误C1067错误信息compilerlimit:debuginformationmodulesizeexceeded错误分析编译器限制:调试信息模块大小限制。4此错误可能是由于一个名称超过247个字符的符号命名造成。解决方案缩短符号名长度。9.致命错误C1189错误信息#error:usersuppliederrormessage错误分析用户自定义错误信息。此错误发生在程序中有一个#error指示的时候。举例#undef_WIN32#if!defined(_WIN32)#error_WIN32mustbedefined//error#endifintmain(){return0;}10.致命错误C1852错误信息'filename'isnotavalidprecompiledheaderfile错误分析头文件不是一个有效的预编译头文件。设定的文件名不是一个预编译头文件如.hpp文件。解决方案确保所有命令行选项和#pragma语句指定的预编译头文件有效。王牌8511.编译器错误C2011错误信息'identifier':'type'typeredefinition错误分析类型重复定义。指定的标识符已经被定义为类型。举例structS;unionS;//error12.编译器错误C2020错误信息'member':'class'memberredefinition错误分析'类'的成员重新定义。指定基类指定的成员或结构被重新定义。解决方案从基类或结构继承一个函数不能被重新定义。如果函数在派生类中重新定义,它应该被宣布为在基类中的虚拟。13.编译器错误C2036错误信息'class-key':unknownsize错误分析未知大小。指定未声明的标识符地址已经被使用。一个未申报对象的大小不能使用。举例structA*pA;6structB{inti;};B*pB;voidmain(){pA++;//error,sizeofAnotknownpB++;//OK,Bhasbeendeclared}14.编译器错误C2039错误信息'identifier':isnotamemberof'identifier'错误分析标识符是不是成员标识符。一个结构或联合非成员被错误地使用。举例structS{intmem0;}*pS;voidmain(){pS-mem1=0;//error,mem1isnotamemberpS-mem0=0;//OK}15.编译器错误C2041错误信息illegaldigit'character'forbase'number'错误分析数字的进制使用错误。指定的字符的数字没有按照指定的进制使用。举例王牌87inti=081;//error,8isnotalegaldigitinti=071;//OK16.编译器错误C2060错误信息syntaxerror:endoffilefound错误分析语法错误:文件结束处缺少项。举例省略分号(;)int*p//error漏掉一个右大括号())main(){//error17.编译器错误C2064错误信息termdoesnotevaluatetoafunction错误分析尝试调用不存在的函数。在需要函数表达式的地方通过评估发现并没有函数指针。举例inti,j;char*p;voidfunc(){j=i();//error,iisnotafunctionp();//error,pdoesn'tpointtoafunction}18.编译器错误C20738错误信息'identifier':partiallyinitializedarrayrequiresadefaultconstructor错误分析数组未进行初始化。如果一个明确的初始化(及其相应的构造)没有指定数组的成员,那么默认的构造函数必须提供。举例classA{public:A(int);//constructorforintsonly};Aa[3]={A(1),A(2)};//error,nodefaultconstructorclassB{public:B();//defaultconstructordeclaredB(int);};Bb[3]={B(1),B(2)};//OK19.编译器错误C2081错误信息'identifier':nameinformalparameterlistillegal错误分析参数列表的名称非法。指定的标识符导致语法错误。举例voidfunc(inti,j)//error,notypespecifiedforj{}20.编译器错误C2083王牌89错误信息struct/unioncomparisonillegal错误分析结构/联合比较非法。结构直接与另一个用户定义的类型进行比较导致错误。用户定义的类型不能与另一个用户定义的类型,除非比较运算符已定义或对标量类型转换存在。举例structA{inti;}a,b;voidfunc(){if(a==b);//error,structurecomparison}21.编译器错误C2117错误信息'identifier':arrayboundsoverflow错误分析数组界限溢出太多的数据初始给定的数组。解决方案请确保初始化数组元素的大小和数量与数组的定义相匹配。举例charabc[4]=abcd;//error,arraycontains5members22.编译器错误C2129错误信息staticfunction'function'declaredbutnotdefined10错误分析使用了一个静态函数,但是从来没有定义。解决方案函数定义为静态的,必须在文件的范围界定。如果函数在另一个文件中定义,它应该被宣布以关键字EXTERN的。23.编译器错误C2201错误信息'identifier':musthaveexternallinkageinordertobeexported/imported错误分析指定的静态标识符被输出。举例__declspec(dllexport)staticvoidfunc(){}//error,func()isstatic__declspec(dllexport)voidfunc(){}//OK24.编译器错误C2203错误信息deleteoperatorcannotspecifyboundsforanarray错误分析删除操作仅仅可以删除整个数组,不能删除一部分或者指定的数组成员,在C++2.0,没有该错误,在C++2.1存在这个错误。举例delete[4]ArrayOfObjects;//error25.编译器错误C2206错误信息'function':typedefcannotbeusedforfunctiondefinition错误分析王牌811typedef不能用来定义函数类型。举例typedefintfunctyp();functypfunc1{};//error26.编译器错误C2213错误信息'modifier':illegalargumentto__based错误分析变量命名非法举例inti;char__based(i)*p;//error27.编译器错误C2226错误信息syntaxerror:unexpectedtype'type'错误分析前后可能发生语法错误,出现意外的类型。举例intfunc1(int,...,float);//error,省略号引起错位,不能识别floatintfunc2(int,float,...);//OK28.编译器错误C2309错误信息catchhandlerexpectedaparenthesizedexceptiondeclaration错误分析catch处理预期括号声明异常。12举例#includeeh.hclassC;voidmain(){try{throwooops!;}catchC{}//errorcatch(C){}//OK}29.编译器错误C2317错误信息'try'blockstartingonline'number'hasnocatchhandlers错误分析'试'块在线'数字'开始没有赶上处理。一个try块必须至少有一个catch处理。举例#includeeh.hvoidmain(){try{throwooops!;}//error:nocatchhandler}30.编译器错误C2321错误信息syntaxerror:unexpected'identifier'王牌813错误分析语法错误:意外标识符。举例structA{structB{};};voidf()//notemissing'{'A::Bx;//error}31.编译器错误C2326错误信息'declarator':func