基于Turbo C(V2.0)編譯錯誤信息的詳細介紹
說明:Turbo C 的源程序錯誤分為三種類型:致命錯誤、一般錯誤和警告。其中,致命錯誤通常是內(nèi)部編譯出錯;一般錯誤指程序的語法錯誤、磁盤或內(nèi)存存取錯誤或命令行錯誤等;警告則只是指出一些得懷疑的情況,它并不防止編譯的進行。
下面按字母順序A~Z分別列出致命錯誤及一般錯誤信息,英漢對照及處理方法:
(一)、致命錯誤英漢對照及處理方法:
A-B致命錯誤
Bad call of in-line function (內(nèi)部函數(shù)非法調(diào)用)
分析與處理:在使用一個宏定義的內(nèi)部函數(shù)時,沒能正確調(diào)用。一個內(nèi)部函數(shù)以兩個下劃線(__)開始和結(jié)束。
Irreducable expression tree (不可約表達式樹)
分析與處理:這種錯誤指的是文件行中的表達式太復雜,使得代碼生成程序無法為它生成代碼。這種表達式必須避免使用。
Register allocation failure (存儲器分配失敗)
分析與處理:這種錯誤指的是文件行中的表達式太復雜,代碼生成程序無法為它生成代碼。此時應簡化這種繁雜的表達式或干脆避免使用它。
(二)、一般錯誤信息英漢照及處理方法
#operator not followed by maco argument name(#運算符后沒跟宏變元名)
分析與處理:在宏定義中,#用于標識一宏變串。“#”號后必須跟一個宏變元名。
'xxxxxx' not anargument ('xxxxxx'不是函數(shù)參數(shù))
分析與處理:在源程序中將該標識符定義為一個函數(shù)參數(shù),但此標識符沒有在函數(shù)中出現(xiàn)。
Ambiguous symbol 'xxxxxx' (二義性符號'xxxxxx')
分析與處理:兩個或多個結(jié)構(gòu)的某一域名相同,但具有的偏移、類型不同。在變量或表達式中引用該域而未帶結(jié)構(gòu)名時,會產(chǎn)生二義性,此時需修改某個域名或在引用時加上結(jié)構(gòu)名。
Argument # missing name (參數(shù)#名丟失)
分析與處理:參數(shù)名已脫離用于定義函數(shù)的函數(shù)原型。如果函數(shù)以原型定義,該函數(shù)必須包含所有的參數(shù)名。 Argument list syntax error (參數(shù)表出現(xiàn)語法錯誤)
分析與處理:函數(shù)調(diào)用的參數(shù)間必須以逗號隔開,并以一個右括號結(jié)束。若源文件中含有一個其后不是逗號也不是右括號的參數(shù),則出錯。
Array bounds missing (數(shù)組的界限符"]"丟失)
分析與處理:在源文件中定義了一個數(shù)組,但此數(shù)組沒有以下右方括號結(jié)束。
Array size too large (數(shù)組太大)
分析與處理:定義的數(shù)組太大,超過了可用內(nèi)存空間。
Assembler statement too long (匯編語句太長)
分析與處理:內(nèi)部匯編語句最長不能超過480字節(jié)。
Bad configuration file (配置文件不正確)
分析與處理:TURBOC.CFG配置文件中包含的不是合適命令行選擇項的非注解文字。配置文件命令選擇項必須以一個短橫線開始。
Bad file name format in include directive(包含指令中文件名格式不正確)
分析與處理:包含文件名必須用引號("filename.h")或尖括號(<filename>)括起來,否則將產(chǎn)生本類錯誤。如果使用了宏,則產(chǎn)生的擴展文本也不正確,因為無引號沒辦法識別。
Bad ifdef directive syntax (ifdef指令語法錯誤)
分析與處理:#ifdef必須以單個標識符(只此一個)作為該指令的體。
Bad ifndef directive syntax (ifndef指令語法錯誤)
分析與處理:#ifndef 必須以單個標識符(只此一個)作為該指令的體。
Bad undef directive syntax (undef指令語法錯誤)
分析與處理:#undef指令必須以單個標識符(只此一個)作為該指令的體。
Bad file size syntax (位字段長語法錯誤)
分析與處理:一個位字段長必須是1—16位的常量表達式。
Call of non-functin (調(diào)用未定義函數(shù))
分析與處理:正被調(diào)用的函數(shù)無定義,通常是由于不正確的函數(shù)聲明或函數(shù)名拼錯而造成。
Cannot modify a const object (不能修改一個長量對象)
分析與處理:對定義為常量的對象進行不合法操作(如常量賦值)引起本錯誤。
Case outside of switch (Case 出現(xiàn)在switch外)
分析與處理:編譯程序發(fā)現(xiàn)Case語句出現(xiàn)在switch語句之外,這類故障通常是由于括號不匹配造成的。
Case statement missing (Case語句漏掉)
分析與處理:Case語必須包含一個以冒號結(jié)束的常量表達式,如果漏了冒號或在冒號前多了其它符號,則會出現(xiàn)此類錯誤。
Character constant too long (字符常量太長)
分析與處理:字符常量的長度通常只能是一個或兩個字符長,超過此長度則會出現(xiàn)這種錯誤。
Compound statement missing (漏掉復合語句)
分析與處理:編譯程序掃描到源文件未時,未發(fā)現(xiàn)結(jié)束符號 (大括號),此類故障通常是由于大括號不匹配所致。
Conflicting type modifiers (類型修飾符沖突)
分析與處理:對同一指針,只能指定一種變址修飾符(如near 或far);而對于同一函數(shù),也只能給出一種語言修飾符(如Cdecl、pascal或interrupt)。
Constant expression required (需要常量表達式)
分析與處理:數(shù)組的大小必須是常量,本錯誤通常是由于#define常量的拼寫錯誤引起。
Could not find file 'xxxxxx.xxx' (找不到'xxxxxx.xx'文件)
分析與處理:編譯程序找不到命令行上給出的文件。
Declaration missing (漏掉了說明)
分析與處理:當源文件中包含了一個struct或 union域聲明,而后面漏掉了分號,則會出現(xiàn)此類錯誤。
Declaration needs type or storage class(說明必須給出類型或存儲類)
分析與處理:正確的變量說明必須指出變量類型,否則會出現(xiàn)此類錯誤。
Declaration syntax error (說明出現(xiàn)語法錯誤)
分析與處理:在源文件中,若某個說明丟失了某些符號或輸入多余的符號,則會出現(xiàn)此類錯誤。
Default outside of switch (Default語句在switch語句外出現(xiàn))
分析與處理:這類錯誤通常是由于括號不匹配引起的。
Define directive needs an identifier (Define指令必須有一個標識符)
分析與處理:#define 后面的第一個非空格符必須是一個標識符,若該位置出現(xiàn)其它字符,則會引起此類錯誤。
Division by zero (除數(shù)為零)
分析與處理:當源文件的常量表達式出現(xiàn)除數(shù)為零的情況,則會造成此類錯誤。
Do statement must have while (do語句中必須有While關鍵字)
分析與處理:若源文件中包含了一個無While關鍵字的 do語句,則出現(xiàn)本錯誤。
DO while statement missing ( (Do while語句中漏掉了符號 "(")
分析與處理:在do語句中,若 while關鍵字后無左括號,則出現(xiàn)本錯誤。 Do while statement missing;(Do while語句中掉了分號)
分析與處理:在DO語句的條件表達式中,若右括號后面無分號則出現(xiàn)此類錯誤。
Duplicate Case (Case情況不唯一)
分析與處理:Switch語句的每個case必須有一個唯一的常量表達式值。否則導致此類錯誤發(fā)生。
Enum syntax error (Enum語法錯誤)
分析與處理:若enum說明的標識符表格式不對,將會引起此類錯誤發(fā)生。
Enumeration constant syntax error (枚舉常量語法錯誤)
分析與處理:若賦給enum類型變量的表達式值不為常量,則會導致此類錯誤發(fā)生。
Error Directive : xxxx (Error指令:xxxx)
分析與處理:源文件處理#error指令時,顯示該指令指出的信息。
Error Writing output file (寫輸出文件錯誤)
分析與處理:這類錯誤通常是由于磁盤空間已滿,無法進行寫入操作而造成。
Expression syntax error (表達式語法錯誤)
分析與處理:本錯誤通常是由于出現(xiàn)兩個連續(xù)的操作符,括號不匹配或缺少括號、前一語句漏掉了分號引起的。
Extra parameter in call (調(diào)用時出現(xiàn)多余參數(shù))
分析與處理:本錯誤是由于調(diào)用函數(shù)時,其實際參數(shù)個數(shù)多于函數(shù)定義中的參數(shù)個數(shù)所致。
Extra parameter in call to xxxxxx(調(diào)用xxxxxxxx函數(shù)時出現(xiàn)了多余參數(shù))
File name too long (文件名太長)
分析與處理:#include指令給出的文件名太長,致使編譯程序無法處理,則會出現(xiàn)此類錯誤。通常DOS下的文件名長度不能超過 64個字符。
For statement missing ) (For語名缺少")")
分析與處理:在 for語句中,如果控制表達式后缺少右括號,則會出現(xiàn)此類錯誤。
For statement missing( (For語句缺少"(")
For statement missing; (For 語句缺少";")
分析與處理:在 for語句中,當某個表達式后缺少分號,則會出現(xiàn)此類錯誤。
Function call missing) (函數(shù)調(diào)用缺少")")
分析與處理:如果函數(shù)調(diào)用的參數(shù)表漏掉了右手括號或括號不匹配,則會出現(xiàn)此類錯誤。
Function definition out ofplace (函數(shù)定義位置錯誤)
Function doesn't take a variable number of argument(函數(shù)不接受可變的參數(shù)個數(shù))
Goto statement missing label (Goto語句缺少標號)
If statement missing( (If語句缺少"(")
If statement missing) (If語句缺少")")
lllegal initalization (非法初始化)
lllegal octal digit (非法八進制數(shù))
分析與處理:此類錯誤通常是由于八進制常數(shù)中包含了非八進制數(shù)字所致。
lllegal pointer subtraction (非法指針相減)
lllegal structure operation (非法結(jié)構(gòu)操作)
lllegal use of floating point (浮點運算非法)
lllegal use of pointer (指針使用非法)
Improper use of a typedef symbol (typedef符號使用不當)
Incompatible storage class (不相容的存儲類型)
Incompatible type conversion (不相容的類型轉(zhuǎn)換)
Incorrect commadn line argument:xxxxxx (不正確的命令行參數(shù):xxxxxxx)
Incorrect commadn file argument:xxxxxx (不正確的配置文件參數(shù):xxxxxxx)
Incorrect number format (不正確的數(shù)據(jù)格式)
Incorrect use of default (deflult不正確使用)
Initializer syntax error (初始化語法錯誤)
Invaild indrection (無效的間接運算)
Invalid macro argument separator (無效的宏參數(shù)分隔符)
Invalid pointer addition (無效的指針相加)
Invalid use of dot (點使用錯)
Macro argument syntax error (宏參數(shù)語法錯誤)
Macro expansion too long (宏擴展太長)
Mismatch number of parameters in definition(定義中參數(shù)個數(shù)不匹配)
Misplaced break (break位置錯誤)
Misplaced continue (位置錯)
Misplaced decimal point (十進制小數(shù)點位置錯)
Misplaced else (else 位置錯)
Misplaced else driective (clse指令位置錯)
Misplaced endif directive (endif指令位置錯)
Must be addressable (必須是可編址的)
Must take address of memory location (必須是內(nèi)存一地址)
No file name ending (無文件終止符)
No file names given (未給出文件名)
Non-protable pointer assignment (對不可移植的指針賦值)
Non-protable pointer comparison (不可移植的指針比較)
Non-protable return type conversion (不可移植的返回類型轉(zhuǎn)換)
Not an allowed type (不允許的類型)
Out of memory (內(nèi)存不夠)
Pointer required on left side of (操作符左邊須是一指針)
Redeclaration of 'xxxxxx' ('xxxxxx'重定義)
Size of structure or array not known (結(jié)構(gòu)或數(shù)組大小不定)
Statement missing; (語句缺少“;”)
Structure or union syntax error (結(jié)構(gòu)或聯(lián)合語法錯誤)
Structure size too large (結(jié)構(gòu)太大)
Subscription missing ] (下標缺少‘]')
Switch statement missing ( (switch 語句缺少"(")
Switch statement missing ) (switch 語句缺少")")
Too few parameters in call (函數(shù)調(diào)用參數(shù)太少)
Too few parameter in call to'xxxxxx'(調(diào)用'xxxxxx'時參數(shù)太少)
Too many cases (Cases太多)
Too many decimal points (十進制小數(shù)點太多)
Too many default cases (defaut太多)
Too many exponents (階碼太多)
Too many initializers (初始化太多)
Too many storage classes in declaration (說明中存儲類太多)
Too many types in decleration (說明中類型太多)
Too much auto memory in function (函數(shù)中自動存儲太多)
Too much global define in file (文件中定義的全局數(shù)據(jù)太多)
Two consecutive dots (兩個連續(xù)點)
Type mismatch in parameter # (參數(shù)"#"類型不匹配)
Type mismatch in parameter # in call to 'XXXXXXX' (調(diào)用'XXXXXXX'時參數(shù)#類型不匹配)
Type missmatch in parameter 'XXXXXXX' (參數(shù)'XXXXXXX'類型不匹配)
Type mismatch in parameter 'YYYYYYYY' in call to 'YYYYYYYY'(調(diào)用'YYYYYYY'時參數(shù)'XXXXXXXX'數(shù)型不匹配)
Type mismatch in redeclaration of 'XXX' (重定義類型不匹配)
Unable to creat output file 'XXXXXXXX.XXX' (不能創(chuàng)建輸出文件'XXXXXXXX.XXX')
Unable to create turboc.lnk (不能創(chuàng)建turboc.lnk )
Unable to execute command 'xxxxxxxx'(不能執(zhí)行'xxxxxxxx'命令)
Unable to open include file 'xxxxxxx.xxx' (不能打開包含文件'xxxxxxxx.xxx')
Unable to open inputfile 'xxxxxxx.xxx' (不能打開輸入文件'xxxxxxxx.xxx')
Undefined label 'xxxxxxx' (標號'xxxxxxx'未定義)
Undefined structure 'xxxxxxxxx' (結(jié)構(gòu)'xxxxxxxxxx'未定義)
Undefined symbol 'xxxxxxx' (符號'xxxxxxxx'未定義)
Unexpected end of file in comment started on line #(源文件在某個注釋中意外結(jié)束)
Unexpected end of file in conditional stated on line # (源文件在#行開始的條件語句中意外結(jié)束)
Unknown preprocessor directive 'xxx' (不認識的預處理指令:'xxx')Untermimated character constant (未終結(jié)的字符常量)
Unterminated string (未終結(jié)的串)
Unterminated string or character constant(未終結(jié)的串或字符常量)
User break (用戶中斷)
Value required (賦值請求)
While statement missing ( (While語句漏掉 '(')
While statement missing ) (While語句漏掉 ')')
Wrong number of arguments in of 'xxxxxxxx' (調(diào)用'xxxxxxxx'時參數(shù)個數(shù)錯誤)
相關文章
C/C++運用WMI接口實現(xiàn)查詢系統(tǒng)信息
Windows?Management?Instrumentation(WMI)是一種用于管理和監(jiān)視Windows操作系統(tǒng)的框架,本文主要介紹了如何運用WMI接口實現(xiàn)查詢系統(tǒng)信息,感興趣的可以了解下2023-11-11C++智能指針shared_ptr與weak_ptr的實現(xiàn)分析
shared_ptr是一個標準的共享所有權(quán)的智能指針,允許多個指針指向同一個對象,定義在 memory 文件中,命名空間為 std,這篇文章主要介紹了C++ 中 shared_ptr weak_ptr,需要的朋友可以參考下2022-09-09OpenCV4 實現(xiàn)背景分離的詳細步驟(背景減法模型)
背景分離(BS)是一種通過使用靜態(tài)相機來生成前景掩碼(即包含屬于場景中的移動對象像素的二進制圖像)的常用技術,本文給大家介紹OpenCV4 實現(xiàn)背景分離的詳細步驟,需要的朋友可以參考下2021-09-09C++ 中的虛函數(shù)表及虛函數(shù)執(zhí)行原理詳解
這篇文章主要介紹了C++ 中的虛函數(shù)表及虛函數(shù)執(zhí)行原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03