C++常見(jiàn)錯(cuò)誤中英對(duì)照及注釋_第1頁(yè)
C++常見(jiàn)錯(cuò)誤中英對(duì)照及注釋_第2頁(yè)
C++常見(jiàn)錯(cuò)誤中英對(duì)照及注釋_第3頁(yè)
C++常見(jiàn)錯(cuò)誤中英對(duì)照及注釋_第4頁(yè)
C++常見(jiàn)錯(cuò)誤中英對(duì)照及注釋_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)C+常見(jiàn)錯(cuò)誤中英文對(duì)照表fatal error C1003: error count exceeds number; stopping compilation 中文對(duì)照:(編譯錯(cuò)誤)錯(cuò)誤太多,停止編譯分析:修改之前的錯(cuò)誤,再次編譯 fatal error C1004: unexpected end of file found 中文對(duì)照:(編譯錯(cuò)誤)文件未結(jié)束分析:一個(gè)函數(shù)或者一個(gè)結(jié)構(gòu)定義缺少“”、或者在一個(gè)函數(shù)調(diào)用或表達(dá)式中括號(hào)沒(méi)有配對(duì)出現(xiàn)、或者注釋符“/*/”不完整等

2、 fatal error C1010: 在查找預(yù)編譯頭時(shí)遇到意外的文件結(jié)尾。是否忘記了向源中添加“#include stdafx.h”?解決1:關(guān)閉.CPP文件的使用預(yù)編譯頭的選項(xiàng) 右鍵選擇該文件-屬性-預(yù)編譯頭,選不使用預(yù)編譯頭解決2: 直接在工程設(shè)置里關(guān)閉使用預(yù)編譯頭的選項(xiàng)。步驟和上一方法類(lèi)似fatal error C1083: Cannot open include file: xxx: No such file or directory 中文對(duì)照:(編譯錯(cuò)誤)無(wú)法打開(kāi)頭文件xxx:沒(méi)有這個(gè)文件或路徑分析:頭文件不存在、或者頭文件拼寫(xiě)錯(cuò)誤、或者文件為只讀 error BK1506 : c

3、annot open file .DebugStdAfx.sbr: No such file or directory右鍵當(dāng)前工程-設(shè)置-瀏覽信息-取消創(chuàng)建創(chuàng)建瀏覽信息fatal error C1903: unable to recover from previous error(s); stopping compilation 中文對(duì)照:(編譯錯(cuò)誤)無(wú)法從之前的錯(cuò)誤中恢復(fù),停止編譯分析:引起錯(cuò)誤的原因很多,建議先修改之前的錯(cuò)誤 error C2001: newline in constant 中文對(duì)照:(編譯錯(cuò)誤)常量中創(chuàng)建新行分析:字符串常量多行書(shū)寫(xiě) error C2006: #inclu

4、de expected a filename, found identifier 中文對(duì)照:(編譯錯(cuò)誤)#include命令中需要文件名分析:一般是頭文件未用一對(duì)雙引號(hào)或尖括號(hào)括起來(lái),例如“#include stdio.h” error C2007: #define syntax 中文對(duì)照:(編譯錯(cuò)誤)#define語(yǔ)法錯(cuò)誤分析:例如“#define”后缺少宏名,例如“#define” error C2008: xxx : unexpected in macro definition 中文對(duì)照:(編譯錯(cuò)誤)宏定義時(shí)出現(xiàn)了意外的xxx 分析:宏定義時(shí)宏名與替換串之間應(yīng)有空格,例如“#define

5、 TRUE1”error C2009: reuse of macro formal identifier 中文對(duì)照:(編譯錯(cuò)誤)帶參宏的形式參數(shù)重復(fù)使用分析:宏定義如有參數(shù)不能重名,例如“#define s(a,a) (a*a)”中參數(shù)a重復(fù) error C2010: character : unexpected in macro formal parameter list 中文對(duì)照:(編譯錯(cuò)誤)帶參宏的形式參數(shù)表中出現(xiàn)未知字符分析:例如“#define s(r|) r*r”中參數(shù)多了一個(gè)字符| error C2014: preprocessor command must start as f

6、irst nonwhite space 中文對(duì)照:(編譯錯(cuò)誤)預(yù)處理命令前面只允許空格分析:每一條預(yù)處理命令都應(yīng)獨(dú)占一行,不應(yīng)出現(xiàn)其他非空格字符 error C2015: too many characters in constant 中文對(duì)照:(編譯錯(cuò)誤)常量中包含多個(gè)字符分析:字符型常量的單引號(hào)中只能有一個(gè)字符,或是以“”開(kāi)始的一個(gè)轉(zhuǎn)義字符,例如“char error = error;” error C2017: illegal escape sequence 中文對(duì)照:(編譯錯(cuò)誤)轉(zhuǎn)義字符非法分析:一般是轉(zhuǎn)義字符位于 或 之外,例如“char error = n;” error C201

7、8: unknown character 0 xhh 中文對(duì)照:(編譯錯(cuò)誤)未知的字符0 xhh 分析:一般是輸入了中文標(biāo)點(diǎn)符號(hào),例如“char error = E;”中“;”為中文標(biāo)點(diǎn)符號(hào) error C2019: expected preprocessor directive, found character 中文對(duì)照:(編譯錯(cuò)誤)期待預(yù)處理命令,但有無(wú)效字符分析:一般是預(yù)處理命令的#號(hào)后誤輸入其他無(wú)效字符,例如“#!define TRUE 1” error C2021: expected exponent value, not character 中文對(duì)照:(編譯錯(cuò)誤)期待指數(shù)值,不能是

8、字符分析:一般是浮點(diǎn)數(shù)的指數(shù)表示形式有誤,例如123.456E error C2039: identifier1 : is not a member of identifier2 中文對(duì)照:(編譯錯(cuò)誤)標(biāo)識(shí)符1不是標(biāo)識(shí)符2的成員分析:程序錯(cuò)誤地調(diào)用或引用結(jié)構(gòu)體、共用體、類(lèi)的成員 或者是變量名與變量不符。error C2041: illegal digit x for base n 中文對(duì)照:(編譯錯(cuò)誤)對(duì)于n進(jìn)制來(lái)說(shuō)數(shù)字x非法分析:一般是八進(jìn)制或十六進(jìn)制數(shù)表示錯(cuò)誤,例如“int i = 081;”語(yǔ)句中數(shù)字8不是八進(jìn)制的基數(shù) error C2048: more than one default

9、 中文對(duì)照:(編譯錯(cuò)誤)default語(yǔ)句多于一個(gè)分析:switch語(yǔ)句中只能有一個(gè)default,刪去多余的default error C2050: switch expression not integral 中文對(duì)照:(編譯錯(cuò)誤)switch表達(dá)式不是整型的分析:switch表達(dá)式必須是整型(或字符型),例如“switch (a)”中表達(dá)式為字符串,這是非法的 error C2051: case expression not constant 中文對(duì)照:(編譯錯(cuò)誤)case表達(dá)式不是常量分析:case表達(dá)式應(yīng)為常量表達(dá)式,例如“case a”中“a”為字符串,這是非法的 error C2

10、052: type : illegal type for case expression 中文對(duì)照:(編譯錯(cuò)誤)case表達(dá)式類(lèi)型非法分析:case表達(dá)式必須是一個(gè)整型常量(包括字符型) error C2057: expected constant expression 中文對(duì)照:(編譯錯(cuò)誤)期待常量表達(dá)式分析:一般是定義數(shù)組時(shí)數(shù)組長(zhǎng)度為變量,例如“int n=10; int an;”中n為變量,這是非法的 error C2058: constant expression is not integral 中文對(duì)照:(編譯錯(cuò)誤)常量表達(dá)式不是整數(shù)分析:一般是定義數(shù)組時(shí)數(shù)組長(zhǎng)度不是整型常量 err

11、or C2059: syntax error : xxx 中文對(duì)照:(編譯錯(cuò)誤)xxx語(yǔ)法錯(cuò)誤分析:引起錯(cuò)誤的原因很多,可能多加或少加了符號(hào)xxx error C2064: term does not evaluate to a function 中文對(duì)照:(編譯錯(cuò)誤)無(wú)法識(shí)別函數(shù)語(yǔ)言分析:1、函數(shù)參數(shù)有誤,表達(dá)式可能不正確,例如“sqrt(s(s-a)(s-b)(s-c);”中表達(dá)式不正確 2、變量與函數(shù)重名或該標(biāo)識(shí)符不是函數(shù),例如“int i,j; j=i();”中i不是函數(shù) error C2065: xxx : undeclared identifier 中文對(duì)照:(編譯錯(cuò)誤)未定義的標(biāo)

12、識(shí)符xxx 分析:1、如果xxx為cout、cin、scanf、printf、sqrt等,則程序中包含頭文件有誤 2、未定義變量、數(shù)組、函數(shù)原型等,注意拼寫(xiě)錯(cuò)誤或區(qū)分大小寫(xiě)。 你就直接把#include 刪了即可。error C2078: too many initializers 中文對(duì)照:(編譯錯(cuò)誤)初始值過(guò)多分析:一般是數(shù)組初始化時(shí)初始值的個(gè)數(shù)大于數(shù)組長(zhǎng)度,例如“int b2=1,2,3;” error C2082: redefinition of formal parameter xxx 中文對(duì)照:(編譯錯(cuò)誤)重復(fù)定義形式參數(shù)xxx 分析:函數(shù)首部中的形式參數(shù)不能在函數(shù)體中再次被定義

13、error C2084: function xxx already has a body 中文對(duì)照:(編譯錯(cuò)誤)已定義函數(shù)xxx 分析:在VC+早期版本中函數(shù)不能重名,6.0版本中支持函數(shù)的重載,函數(shù)名可以相同但參數(shù)不一樣 error C2086: xxx : redefinition 中文對(duì)照:(編譯錯(cuò)誤)標(biāo)識(shí)符xxx重定義分析:變量名、數(shù)組名重名 error C2087: : missing subscript 中文對(duì)照:(編譯錯(cuò)誤)下標(biāo)未知分析:一般是定義二維數(shù)組時(shí)未指定第二維的長(zhǎng)度,例如“int a3;” error C2100: illegal indirection 中文對(duì)照:(編

14、譯錯(cuò)誤)非法的間接訪問(wèn)運(yùn)算符“*” 分析:對(duì)非指針變量使用“*”運(yùn)算 error C2105: operator needs l-value 中文對(duì)照:(編譯錯(cuò)誤)操作符需要左值分析:例如“(a+b)+;”語(yǔ)句,“+”運(yùn)算符無(wú)效 error C2106: operator: left operand must be l-value 中文對(duì)照:(編譯錯(cuò)誤)操作符的左操作數(shù)必須是左值分析:例如“a+b=1;”語(yǔ)句,“=”運(yùn)算符左值必須為變量,不能是表達(dá)式 error C2110: cannot add two pointers 中文對(duì)照:(編譯錯(cuò)誤)兩個(gè)指針量不能相加分析:例如“int *pa,*

15、pb,*a; a = pa + pb;”中兩個(gè)指針變量不能進(jìn)行“+”運(yùn)算 error C2117: xxx : array bounds overflow 中文對(duì)照:(編譯錯(cuò)誤)數(shù)組xxx邊界溢出分析:一般是字符數(shù)組初始化時(shí)字符串長(zhǎng)度大于字符數(shù)組長(zhǎng)度,例如“char str4 = abcd;” error C2118: negative subscript or subscript is too large 中文對(duì)照:(編譯錯(cuò)誤)下標(biāo)為負(fù)或下標(biāo)太大分析:一般是定義數(shù)組或引用數(shù)組元素時(shí)下標(biāo)不正確 error C2124: divide or mod by zero 中文對(duì)照:(編譯錯(cuò)誤)被零除或

16、對(duì)0求余分析:例如“int i = 1 / 0;”除數(shù)為0 error C2133: xxx : unknown size 中文對(duì)照:(編譯錯(cuò)誤)數(shù)組xxx長(zhǎng)度未知分析:一般是定義數(shù)組時(shí)未初始化也未指定數(shù)組長(zhǎng)度,例如“int a;” error C2137: empty character constant。中文對(duì)照:(編譯錯(cuò)誤)字符型常量為空分析:一對(duì)單引號(hào)“”中不能沒(méi)有任何字符 error C2143: syntax error : missing token1 before token2 error C2146: syntax error : missing token1 before

17、identifier identifier 中文對(duì)照:(編譯錯(cuò)誤)在標(biāo)識(shí)符或語(yǔ)言符號(hào)2前漏寫(xiě)語(yǔ)言符號(hào)1 分析:可能缺少“”、“)”或“;”等語(yǔ)言符號(hào) 或者缺乏頭文件error C2144: syntax error : missing ) before type xxx 中文對(duì)照:(編譯錯(cuò)誤)在xxx類(lèi)型前缺少) 分析:一般是函數(shù)調(diào)用時(shí)定義了實(shí)參的類(lèi)型 error C2181: illegal else without matching if 中文對(duì)照:(編譯錯(cuò)誤)非法的沒(méi)有與if相匹配的else 分析:可能多加了“;”或復(fù)合語(yǔ)句沒(méi)有使用“” error C2196: case value 0

18、 already used 中文對(duì)照:(編譯錯(cuò)誤)case值0已使用分析:case后常量表達(dá)式的值不能重復(fù)出現(xiàn) error C2296: % : illegal, left operand has type float error C2297: % : illegal, right operand has type float 中文對(duì)照:(編譯錯(cuò)誤)%運(yùn)算的左(右)操作數(shù)類(lèi)型為float,這是非法的分析:求余運(yùn)算的對(duì)象必須均為int類(lèi)型,應(yīng)正確定義變量類(lèi)型或使用強(qiáng)制類(lèi)型轉(zhuǎn)換 error C2371: xxx : redefinition; different basic types 中文對(duì)照:

19、(編譯錯(cuò)誤)標(biāo)識(shí)符xxx重定義;基類(lèi)型不同分析:定義變量、數(shù)組等時(shí)重名 error C2440: = : cannot convert from char 2 to char initializing : cannot convert from class CShowDlg1 * to class CShowDlg *把 CShowDlg改為CShowDlg1。中文對(duì)照:(編譯錯(cuò)誤)賦值運(yùn)算,無(wú)法從字符數(shù)組轉(zhuǎn)換為字符分析:不能用字符串或字符數(shù)組對(duì)字符型數(shù)據(jù)賦值,更一般的情況,類(lèi)型無(wú)法轉(zhuǎn)換 ,聲明的和使用的變量不一致。error C2447: missing function header (o

20、ld-style formal list?) error C2448: : function-style initializer appears to be a function definition 中文對(duì)照:(編譯錯(cuò)誤)缺少函數(shù)標(biāo)題(是否是老式的形式表?) 分析:函數(shù)定義不正確,函數(shù)首部的“( )”后多了分號(hào)或者采用了老式的C語(yǔ)言的形參表 error C2450: switch expression of type xxx is illegal 中文對(duì)照:(編譯錯(cuò)誤)switch表達(dá)式為非法的xxx類(lèi)型分析:switch表達(dá)式類(lèi)型應(yīng)為int或char error C2466: cannot

21、 allocate an array of constant size 0 中文對(duì)照:(編譯錯(cuò)誤)不能分配長(zhǎng)度為0的數(shù)組分析:一般是定義數(shù)組時(shí)數(shù)組長(zhǎng)度為0error C2556: void _thiscall.overloaded function differs only by return type from int _thiscall error C2556: int _thiscall Cat:SetAge(int) : overloaded function differs only by return type from void _thiscall Cat:SetAge(int)

22、 E:C+實(shí)現(xiàn)類(lèi)c.cpp(6) : see declaration of SetAgeE:C+實(shí)現(xiàn)類(lèi)c.cpp(20) : error C2371: SetAge : redefinition; different basic types E:C+實(shí)現(xiàn)類(lèi)c.cpp(6) : see declaration of SetAgeE:C+實(shí)現(xiàn)類(lèi)c.cpp(36) : error C2264: SetAge : error in function definition or declaration; function not called執(zhí)行 cl.exe 時(shí)出錯(cuò). 函數(shù)調(diào)用不一致此錯(cuò)誤說(shuō)明的是:

23、重載函數(shù)僅僅只有返回類(lèi)型不同 這在c+中是不允許的 所以報(bào)出錯(cuò)信息 其實(shí)我并沒(méi)有要將函數(shù)重載class avoid Func(void);class bfriend a:Func(void); / 應(yīng)為 friend void a:Func(void);編譯器查找啊a:函數(shù) 找到void Func(void) 沒(méi)有找到完全一樣的 ,故而以為要重載這個(gè)函數(shù)??梢?jiàn),這個(gè)void也不是可以隨便省略的 否則可能會(huì)報(bào)錯(cuò)還有一個(gè) bool BOOL如果聲明 用bool定義用BOOL 也是會(huì)報(bào)錯(cuò)的 。函數(shù)調(diào)用不一致error C2601: xxx : local function definitions a

24、re illegal 中文對(duì)照:(編譯錯(cuò)誤)函數(shù)xxx定義非法分析:一般是在一個(gè)函數(shù)的函數(shù)體中定義另一個(gè)函數(shù) error C2632: type1 followed by type2 is illegal 中文對(duì)照:(編譯錯(cuò)誤)類(lèi)型1后緊接著類(lèi)型2,這是非法的分析:例如“int float i;”語(yǔ)句 error C2660: xxx : function does not take n parameters 中文對(duì)照:(編譯錯(cuò)誤)函數(shù)xxx不能帶n個(gè)參數(shù)分析:調(diào)用函數(shù)時(shí)實(shí)參個(gè)數(shù)不對(duì),例如“sin(x,y);” error C2664: xxx : cannot convert paramet

25、er n from type1 to type2 中文對(duì)照:(編譯錯(cuò)誤)函數(shù)xxx不能將第n個(gè)參數(shù)從類(lèi)型1轉(zhuǎn)換為類(lèi)型2 分析:一般是函數(shù)調(diào)用時(shí)實(shí)參與形參類(lèi)型不一致 把這句s.Format(%d, i); 修改如下:s.Format(_T(%d),i);前一周我剛換上vs2008也是,然后這樣修改的就沒(méi)錯(cuò)了。error C2676: binary : class ostream_withassign does not define this operator or a conversion to a type acceptable to the predefined operator 分析:“”

26、、“”運(yùn)算符使用錯(cuò)誤,例如“ciny;”error C2784: “std:basic_istream &std:operator (std:basic_istream &,unsigned char &)”: 無(wú)法從“std:ostream”為“std:basic_istream &”推導(dǎo)模板參數(shù)應(yīng)該寫(xiě)成了cin方向反了warning C4003: not enough actual parameters for macro xxx 中文對(duì)照:(編譯警告)宏xxx沒(méi)有足夠的實(shí)參分析:一般是帶參宏展開(kāi)時(shí)未傳入?yún)?shù) warning C4067: unexpected tokens followi

27、ng preprocessor directive - expected a newline 中文對(duì)照:(編譯警告)預(yù)處理命令后出現(xiàn)意外的符號(hào) - 期待新行分析:“#include;”命令后的“;”為多余的字符 warning C4091: : ignored on left of type when no variable is declared 中文對(duì)照:(編譯警告)當(dāng)沒(méi)有聲明變量時(shí)忽略類(lèi)型說(shuō)明分析:語(yǔ)句“int ;”未定義任何變量,不影響程序執(zhí)行 warning C4101: xxx : unreferenced local variable 中文對(duì)照:(編譯警告)變量xxx定義了但未使

28、用分析:可去掉該變量的定義,不影響程序執(zhí)行 warning C4244: = : conversion from type1 to type2, possible loss of data 中文對(duì)照:(編譯警告)賦值運(yùn)算,從數(shù)據(jù)類(lèi)型1轉(zhuǎn)換為數(shù)據(jù)類(lèi)型2,可能丟失數(shù)據(jù)分析:需正確定義變量類(lèi)型,數(shù)據(jù)類(lèi)型1為float或double、數(shù)據(jù)類(lèi)型2為int時(shí),結(jié)果有可能不正確,數(shù)據(jù)類(lèi)型1為double、數(shù)據(jù)類(lèi)型2為float時(shí),不影響程序結(jié)果,可忽略該警告 warning C4305: initializing : truncation from const double to float 中文對(duì)照:(編

29、譯警告)初始化,截取雙精度常量為float類(lèi)型分析:出現(xiàn)在對(duì)float類(lèi)型變量賦值時(shí),一般不影響最終結(jié)果 warning C4390: ; : empty controlled statement found; is this the intent? 中文對(duì)照:(編譯警告);控制語(yǔ)句為空語(yǔ)句,是程序的意圖嗎?分析:if語(yǔ)句的分支或循環(huán)控制語(yǔ)句的循環(huán)體為空語(yǔ)句,一般是多加了“;” warning C4508: xxx : function should return a value; void return type assumed 中文對(duì)照:(編譯警告)函數(shù)xxx應(yīng)有返回值,假定返回類(lèi)型為vo

30、id 分析:一般是未定義main函數(shù)的類(lèi)型為void,不影響程序執(zhí)行 warning C4552: operator : operator has no effect; expected operator with side-effect 中文對(duì)照:(編譯警告)運(yùn)算符無(wú)效果;期待副作用的操作符分析:例如“i+j;”語(yǔ)句,“+”運(yùn)算無(wú)意義 warning C4553: = : operator has no effect; did you intend =? 中文對(duì)照:(編譯警告)“=”運(yùn)算符無(wú)效;是否為“=”?分析:例如 “i=j;” 語(yǔ)句,“=”運(yùn)算無(wú)意義 warning C4700: local variable xxx used without having been initialized 中文對(duì)照:(編譯警告)變量xxx在使用前未初始化分析:變量未賦值,結(jié)果有可能不正確,如果變量通過(guò)scanf函數(shù)賦值,則有可能漏寫(xiě)“&”運(yùn)算符,或變量通過(guò)cin賦值,語(yǔ)句有誤 warning C4715: xxx : not all control paths return a value 中文對(duì)照:(編譯

溫馨提示

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

評(píng)論

0/150

提交評(píng)論