C語言常見錯誤指令_第1頁
C語言常見錯誤指令_第2頁
C語言常見錯誤指令_第3頁
C語言常見錯誤指令_第4頁
C語言常見錯誤指令_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、C語言常見錯誤指令fatalerrorC1003:errorcountexceedsnumber;stoppingcompilation錯誤太多,停止編譯分析:修改之前的錯誤,再次編譯fatalerrorC1004:unexpectedendoffilefound文件未結(jié)束分析:一個函數(shù)或者一個結(jié)構(gòu)定義缺少“”、或者在一個函數(shù)調(diào)用或表達式中括號沒有配對出現(xiàn)、或者注釋符“/*/”不完整等fatalerrorC1083:Cannotopenincludefile:xxx:Nosuchfileordirectory無法打開頭文件xxx:沒有這個文件或路徑分析:頭文件不存在、或者頭文件拼寫錯誤、或者文

2、件為只讀fatalerrorC1903:unabletorecoverfrompreviouserror(s);stoppingcompilation無法從之前的錯誤中恢復(fù),停止編譯分析:引起錯誤的原因很多,建議先修改之前的錯誤errorC2001:newlineinconstant常量中創(chuàng)建新行分析:字符串常量多行書寫errorC2006:#includeexpectedafilename,foundidentifier#include命令中需要文件名分析:一般是頭文件未用一對雙引號或尖括號括起來,例如“#includestdio.h”errorC2007:#definesyntax#def

3、ine語法錯誤分析:例如“#define”后缺少宏名,例如“#defineN100”errorC2008:xxx:unexpectedinmacrodefinition宏定義時出現(xiàn)了意外的xxx分析:宏定義時宏名與替換串之間應(yīng)有空格,例如“#defineTRUE1”errorC2009:reuseofmacroformalidentifier帶參宏的形式參數(shù)重復(fù)使用分析:宏定義如有參數(shù)不能重名,例如“#defines(a,a)(a*a)”中參數(shù)a重復(fù)errorC2010:character:unexpectedinmacroformalparameterlist帶參宏的參數(shù)表表現(xiàn)未知字符分析:

4、例如“#defines(r|)r*r”中參數(shù)多了一個字符|errorC2014:preprocessorcommandmuststartasfirstnonwhitespace預(yù)處理命令前面只允許空格每一條預(yù)處理命令都應(yīng)獨占一行,不應(yīng)出現(xiàn)其他非空格字符errorC2015:toomanycharactersinconstant常量中包含多個字符分析:字符型常量的單引號中只能有一個字符,或是以“”開始的一個轉(zhuǎn)義字符errorC2017:illegalescapesequence轉(zhuǎn)義字符非法分析:一般是轉(zhuǎn)義字符位于或之外,例如“charerror=n;”errorC2018:unknownchar

5、acter0 xhh未知的字符0 xhh分析:一般是輸入了中文標(biāo)點符號,例如“charerror=E;”中“;”為中文標(biāo)點符號errorC2019:expectedpreprocessordirective,foundcharacter期待預(yù)處理命令,但有無效字符分析:一般是預(yù)處理命令的#號后誤輸入其他無效字符,例如“#!defineTRUE1”errorC2021:expectedexponentvalue,notcharacter期待指數(shù)值,不能是字符分析:一般是浮點數(shù)的指數(shù)表示形式有誤,例如123.456EerrorC2039:identifier1:isnotamemberofiden

6、ifier2標(biāo)識符1不是標(biāo)識符的成員分析:程序錯誤地調(diào)用或引用結(jié)構(gòu)體、共用體、類的成員errorC2048:morethanonedefaultdefault語句多于一個分析:switch語句中只能有一個default,刪去多余的defaulterrorC2050:switchexpressionnotintegralswitch表達式不是整型的分析:switch表達式必須是整型(或字符型),例如“switch(”a“)”中表達式為字符串,這是非法的errorC2051:caseexpressionnotconstantcase表達式不是常量分析:case表達式應(yīng)為常量表達式,例如“case”

7、a”中“”a”為字符串,這是非法的errorC2052:type:illegaltypeforcaseexpressioncase表達式類型非法分析:case表達式必須是一個整型常量(包括字符型)errorC2057:expectedconstantexpression期待常量表達式分析:一般是定義數(shù)組時數(shù)組長度為變量,例如“intn=10;intan;”中n為變量,是非法的errorC2058:constantexpressionisnotintegral常量表達式不是整數(shù)分析:一般是定義數(shù)組時數(shù)組長度不是整型常量errorC2059:syntaxerror:xxxxxx語法錯誤分析:引起錯

8、誤的原因很多,可能多加或少加了符號xxxerrorC2064:termdoesnotevaluatetoafunction無法識別函數(shù)語言分析:1、函數(shù)參數(shù)有誤,表達式可能不正確,例如“sqrt(s(s-a)(s-b)(s-c);”中表達式不正確2、變量與函數(shù)重名或該標(biāo)識符不是函數(shù),例如“inti,j;j=i();”中i不是函數(shù)errorC2065:xxx:undeclaredidentifier未定義的標(biāo)識符xxx分析:1、如果xxx為cout、cin、scanf、printf、sqrt等,則程序中包含頭文件有誤2、未定義變量、數(shù)組、函數(shù)原型等,注意拼寫錯誤或區(qū)分大小寫。errorC2078

9、:toomanyinitializes初始值過多分析:一般是數(shù)組初始化時初始值的個數(shù)大于數(shù)組長度,例如intb2=1,2,3;”errorC2082:redefinitionofformalparameterxxx重復(fù)定義形式參數(shù)xxx分析:函數(shù)首部中的形式參數(shù)不能在函數(shù)體中再次被定義errorC2084:functionxxxalreadyhasabody已定義函數(shù)xxx分析:在VC+早期版本中函數(shù)不能重名,6.0中支持函數(shù)的重載,函數(shù)名相同但參數(shù)不一樣errorC2086:xxx:redefinition標(biāo)識符xxx重定義分析:變量名、數(shù)組名重名errorC2087:missingsubs

10、cript下標(biāo)未知分析:一般是定義二維數(shù)組時未指定第二維的長度,例如“inta3;”errorC2100:illegalindirection非法的間接訪問運算符“*”分析:對非指針變量使用“*”運算errorC2105:operatorneedsl-value操作符需要左值分析:例如“(a+b)+;”語句,“+”運算符無效errorC2106:operator:leftoperandmustbel-value操作符的左操作數(shù)必須是左值分析:例如“a+b=1;”語句,“=”運算符左值必須為變量,不能是表達式errorC2110:cannotaddtwopointers:兩個指針量不能相加分析:

11、例如“int*pa,*pb,*a;a=pa+pb;”中兩個指針變量不能進行“+”運算errorC2117:xxx:arrayboundsoverflow:數(shù)組xxx邊界溢出分析:一般是字符數(shù)組初始化時字符串長度大于字符數(shù)組長度,例如“charstr4=abcd“;”errorC2118:negativesubscriptorsubscriptistoolarge:下標(biāo)為負或下標(biāo)太大分析:一般是定義數(shù)組或引用數(shù)組元素時下標(biāo)不正確errorC2124:divideormodbyzero被零除或?qū)?求余分析:例如“inti=1/0;”除數(shù)為0errorC2133:xxx:unknownsize數(shù)組x

12、xx長度未知分析:一般是定義數(shù)組時未初始化也未指定數(shù)組長度,例如“inta;”errorC2137:emptycharacterconstant字符型常量為空分析:一對單引號“”中不能沒有任何字符errorC2143:syntaxerror:missingtoken1beforetoken2errorC2146:syntaxerror:missingtoken1beforeidentifieridentifier在標(biāo)識符或語言符號2前漏寫語言符號1分析:可能缺少“”、“)”或“;”等語言符號errorC2144:syntaxerror:missing)beforetypexxx在xxx類型前缺

13、少)分析:一般是函數(shù)調(diào)用時定義了實參的類型errorC2181:illegalelsewithoutmatchingif非法的沒有與if相匹配的else分析:可能多加了“;”或復(fù)合語句沒有使用“”errorC2196:casevalue0alreadyused:Case值0已使用分析:case后常量表達式的值不能重復(fù)出現(xiàn)errorC2296:%:illegal,leftoperandhastypefloaterrorC2297:%:illegal,rightoperandhastypefloat%運算的左(右)操作數(shù)類型為float,這是非法的分析:求余運算的對象必須均為int類型,應(yīng)正確定義

14、變量類型或使用強制類型轉(zhuǎn)換errorC2371:xxx:redefinition;differentbasictypes標(biāo)識符xxx重定義;基類型不同分析:定義變量、數(shù)組等時重名errorC2440:=:cannotconvertfromchar2tochar賦值運算,無法從字符數(shù)組轉(zhuǎn)換為字符分析:不能用字符串或字符數(shù)組對字符型數(shù)據(jù)賦值,更一般的情況,類型無法轉(zhuǎn)換errorC2447:missingfunctionheader(old-styleformallist?)errorC2448:function-styleinitializerappearstobeafunctiondefinit

15、ion缺少函數(shù)標(biāo)題(是否是老式的形式表?)分析:函數(shù)定義不正確,函數(shù)首部的“()”后多了分號或者采用了老式的C語言的形參表errorC2450:switchexpressionoftypexxxisillegalswitch表達式為非法的xxx類型分析:switch表達式類型應(yīng)為int或charerrorC2466:cannotallocateanarrayofconstantsize0:不能分配長度為0的數(shù)組分析:一般是定義數(shù)組時數(shù)組長度為0errorC2601:xxx:localfunctiondefinitionsareillegal:函數(shù)xxx定義非法分析:一般是在一個函數(shù)的函數(shù)體中定

16、義另一個函數(shù)errorC2632:type1followedbytype2isillegal:類型1后緊接著類型2,這是非法的分析:例如“intfloatI;”語句errorC2660:xxx:functiondoesnottakenparameters函數(shù)xxx不能帶n個參數(shù)分析:調(diào)用函數(shù)時實參個數(shù)不對,例如“sin(x,y);”ErrorC2676:binary:classostream_withassigndoesnotdefinethisoperatororaconversiontoatypeacceptabletothepredefinedoperator分析:“”、“”運算符使用錯

17、誤,例如“ciny;”errorC4716:xxx:mustreturnavalue函數(shù)xxx必須返回一個值分析:僅當(dāng)函數(shù)類型為void時,才能使用沒有返回值的返回命令。fatalerrorLNK1104:cannotopenfileDebug/Cpp1.exe無法打開文件Debug/Cpp1.exe分析:重新編譯鏈接fatalerrorLNK1168:cannotopenDebug/Cpp1.exeforwriting不能打開Debug/Cpp1.exe文件分析:一般是Cpp1.exe還在運行,未關(guān)閉fatalerrorLNK1169:oneormoremultiplydefinedsymb

18、olsfound出現(xiàn)一個或更多的多重定義符號。分析:一般與errorLNK2005一同出現(xiàn)errorLNK2001:unresolvedexternalsymbol_main未處理的外部標(biāo)識main分析:一般是main拼寫錯誤,例如“voidmian()”errorLNK2005:_mainalreadydefinedinCpp1.objmain函數(shù)已經(jīng)在Cpp1.obj文件中定義分析:未關(guān)閉上一程序的工作空間,導(dǎo)致出現(xiàn)多個main函數(shù)warningC4067:unexpectedtokensfollowingpreprocessordirective-expectedanewline預(yù)處理命

19、令后出現(xiàn)意外的符號-期待新行分析:“#include;”命令后的“;”為多余的字符warningC4091:ignoredonleftoftypewhennovariableisdeclared當(dāng)沒有聲明變量時忽略類型說明分析:語句“int”未定義任何變量,不影響程序執(zhí)行warningC4101:xxx:unreferencedlocalvariable變量xxx定義了但未使用:分析:可去掉該變量的定義,不影響程序執(zhí)行warningC4244:=conversionfromtype1totype2,possiblelossofdata賦值運算,從數(shù)據(jù)類型1轉(zhuǎn)換為數(shù)據(jù)類型2,可能丟失數(shù)據(jù)分析:需正確定義變量類型,數(shù)據(jù)類型1為float或double、數(shù)據(jù)類型2為int時,結(jié)果有可能不正確,數(shù)據(jù)類型1為double、數(shù)據(jù)類型2為float時,不影響程序結(jié)果,可忽略該警告warningC4305:initializing:truncationfromconstdoubletofloat初始化,截取雙精度常量為float類型分析:出現(xiàn)在對float類型變量賦值時,一般不影響最終結(jié)果warningC4390:;:emptycontrolledstatementfound;isthistheintent?;控制

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論