C语言错误大全.docx
- 文档编号:29856381
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:16
- 大小:24.47KB
C语言错误大全.docx
《C语言错误大全.docx》由会员分享,可在线阅读,更多相关《C语言错误大全.docx(16页珍藏版)》请在冰豆网上搜索。
C语言错误大全
C語言錯誤大全
1. Ambiguous operators need parentheses — 不明確的運算需要用括號括起
2. Ambiguous symbol 'xxx' — 不明確的符號
3. Argument list syntax error — 參數表語法錯誤
4. Array bounds missing — 丟失數組界限符
5. Array size toolarge — 數組尺寸太大
6. Bad character in paramenters — 參數中有不適當的字符
7. Bad file name format in include directive — 包含命令中文件名格式不正確
8. Bad ifdef directive synatax — 編譯預處理ifdef有語法錯
9. Bad undef directive syntax — 編譯預處理undef有語法錯
10. Bit field too large — 位字段太長
11. Call of non-function — 調用未定義的函數
12. Call to function with no prototype — 調用函數時沒有函數的說明
13. Cannot modify a const object — 不允許修改常量對象
14. Case outside of switch — 漏掉了case 語句
15. Case syntax error — Case 語法錯誤
16. Code has no effect — 代碼不可能執行到
17. Compound statement missing{ — 分程序漏掉"{"
18. Conflicting type modifiers — 不明確的類型說明符
19. Constant expression required — 要求常量表達式
20. Constant out of range in comparison — 在比較中常量超出範圍
21. Conversion may lose significant digits — 轉換時會丟失意義的數字
22. Conversion of near pointer not allowed — 不允許轉換近指針
23. Could not find file 'xxx' — 找不到XXX文件
24. Declaration missing ; — 說明缺少";"
25. Declaration syntax error — 說明中出現語法錯誤
26. Default outside of switch — Default 出現在switch語句之外
27. Define directive needs an identifier — 定義編譯預處理需要標識符
28. Division by zero — 用零作除數
29. Do statement must have while — Do-while語句中缺少while部分
30. Enum syntax error — 枚舉類型語法錯誤
31. Enumeration constant syntax error — 枚舉常數語法錯誤
32. Error directive :
xxx — 錯誤的編譯預處理命令
33. Error writing output file — 寫輸出文件錯誤
34. Expression syntax error — 表達式語法錯誤
35. Extra parameter in call — 調用時出現多餘錯誤
36. File name too long — 文件名太長
37. Function call missing ) — 函數調用缺少右括號
38. Fuction definition out of place — 函數定義位置錯誤
39. Fuction should return a value — 函數必需返回一個值
40. Goto statement missing label — Goto語句沒有標號
41. Hexadecimal or octal constant too large — 16進制或8進制常數太大
42. Illegal character 'x' — 非法字符x
43. Illegal initialization — 非法的初始化
44. Illegal octal digit — 非法的8進制數字
45. Illegal pointer subtraction — 非法的指針相減
46. Illegal structure operation — 非法的結構體操作
47. Illegal use of floating point — 非法的浮點運算
48. Illegal use of pointer — 指針使用非法
49. Improper use of a typedefsymbol — 類型定義符號使用不恰當
50. In-line assembly not allowed — 不允許使用行間匯編
51. Incompatible storage class — 存儲類別不相容
52. Incompatible type conversion — 不相容的類型轉換
53. Incorrect number format — 錯誤的數據格式
54. Incorrect use of default — Default使用不當
55. Invalid indirection — 無效的間接運算
56. Invalid pointer addition — 指針相加無效
57. Irreducible expression tree — 無法執行的表達式運算
58. Lvalue required — 需要邏輯值0或非0值
59. Macro argument syntax error — 宏參數語法錯誤
60. Macro expansion too long — 宏的擴展以後太長
61. Mismatched number of parameters in definition — 定義中參數個數不匹配
62. Misplaced break — 此處不應出現break語句
63. Misplaced continue — 此處不應出現continue語句
64. Misplaced decimal point — 此處不應出現小數點
65. Misplaced elif directive — 不應編譯預處理elif
66. Misplaced else — 此處不應出現else
67. Misplaced else directive — 此處不應出現編譯預處理else
68. Misplaced endif directive — 此處不應出現編譯預處理endif
69. Must be addressable — 必須是可以編址的
70. Must take address of memory location — 必須存儲定位的地址
71. No declaration for function 'xxx' — 沒有函數xxx的說明
72. No stack — 缺少堆棧
73. No type information — 沒有類型信息
74. Non-portable pointer assignment — 不可移動的指針(地址常數)賦值
75. Non-portable pointer comparison — 不可移動的指針(地址常數)比較
76. Non-portable pointer conversion — 不可移動的指針(地址常數)轉換
77. Not a valid expression format type — 不合法的表達式格式
78. Not an allowed type — 不允許使用的類型
79. Numeric constant too large — 數值常太大
80. Out of memory — 內存不夠用
81. Parameter 'xxx' is never used — 能數xxx沒有用到
82. Pointer required on left side of -> — 符號->的左邊必須是指針
83. Possible use of 'xxx' before definition — 在定義之前就使用了xxx(警告)
84. Possibly incorrect assignment — 賦值可能不正確
85. Redeclaration of 'xxx' — 重複定義了xxx
86. Redefinition of 'xxx' is not identical — xxx的兩次定義不一致
87. Register allocation failure — 寄存器定址失敗
88. Repeat count needs an lvalue — 重複計數需要邏輯值
89. Size of structure or array not known — 結構體或數給大小不確定
90. Statement missing ; — 語句後缺少";"
91. Structure or union syntax error — 結構體或聯合體語法錯誤
92. Structure size too large — 結構體尺寸太大
93. Sub scripting missing ] — 下標缺少右方括號
94. Superfluous & with function or array — 函數或數組中有多餘的"&"
95. Suspicious pointer conversion — 可疑的指針轉換
96. Symbol limit exceeded — 符號超限
97. Too few parameters in call — 函數調用時的實參少於函數的參數不
98. Too many default cases — Default太多(switch語句中一個)
99. Too many error or warning messages — 錯誤或警告信息太多
100. Too many type in declaration — 說明中類型太多
101. Too much auto memory in function — 函數用到的局部存儲太多
102. Too much global data defined in file — 文件中全局數據太多
103. Two consecutive dots — 兩個連續的句點
104. Type mismatch in parameter xxx — 參數xxx類型不匹配
105. Type mismatch in redeclaration of 'xxx' — xxx重定義的類型不匹配
106. Unable to create output file 'xxx' — 無法建立輸出文件xxx
107. Unable to open include file 'xxx' — 無法打開被包含的文件xxx
108. Unable to open input file 'xxx' — 無法打開輸入文件xxx
109. Undefined label 'xxx' — 沒有定義的標號xxx
110. Undefined structure 'xxx' — 沒有定義的結構xxx
111. Undefined symbol 'xxx' — 沒有定義的符號xxx
112. Unexpected end of file in comment started on line xxx — 從xxx行開始的注解尚未結束文件不能結束
113. Unexpected end of file in conditional started on line xxx — 從xxx 開始的條件語句尚未結束文件不能結束
114. Unknown assemble instruction — 未知的匯編結構
115. Unknown option — 未知的操作
116. Unknown preprocessor directive:
'xxx' — 不認識的預處理命令xxx
117. Unreachable code — 無路可達的代碼
118. Unterminated string or character constant — 字符串缺少引號
119. User break — 用戶強行中斷了程序
120. Void functions may not return a value — Void類型的函數不應有返回值
121. Wrong number of arguments — 調用函數的參數數目錯
122. 'xxx' not an argument — xxx不是參數
123. 'xxx' not part of structure — xxx不是結構體的一部分
124. xxx statement missing ( — xxx語句缺少左括號
125. xxx statement missing ) — xxx語句缺少右括號
126. xxx statement missing ; — xxx缺少分號
127. xxx' declared but never used — 說明了xxx但沒有使用
128. xxx' is assigned a value which is never used — 給xxx賦了值但未用過
C語言編譯錯誤信息錦集
說明:
TurboC的源程序錯誤分為三種類型:
致命錯誤、一般錯誤和警告。
其中,致命錯誤通常是內部編譯出錯;一般錯誤指程序的語法錯誤、磁盤或內存存取錯誤或命令行錯誤等;警告則只是指出一些得懷疑的情況,它並不防止編譯的進行。
下面按字母順序A~Z分別列出致命錯誤及一般錯誤信息,英漢對照及處理方法:
(一)、致命錯誤英漢對照及處理方法:
A-B致命錯誤
Badcallofin-linefunction(內部函數非法調用)
分析與處理:
在使用一個宏定義的內部函數時,沒能正確調用。
一個內部函數以兩個下劃線(__)開始和結束。
Irreducableexpressiontree(不可約表達式樹)
分析與處理:
這種錯誤指的是文件行中的表達式太複雜,使得代碼生成程序無法為它生成代碼。
這種表達式必須避免使用。
Registerallocationfailure(存儲器分配失敗)
分析與處理:
這種錯誤指的是文件行中的表達式太複雜,代碼生成程序無法為它生成代碼。
此時應簡化這種繁雜的表達式或幹脆避免使用它。
(二)、一般錯誤信息英漢照及處理方法
#operatornotfollowedbymacoargumentname(#運算符後沒跟宏變元名)
分析與處理:
在宏定義中,#用於標識一宏變串。
“#”號後必須跟一個宏變元名。
’xxxxxx’notanargument(’xxxxxx’不是函數參數)
分析與處理:
在源程序中將該標識符定義為一個函數參數,但此標識符沒有在函數中出現。
Ambiguoussymbol’xxxxxx’(二義性符號’xxxxxx’)
分析與處理:
兩個或多個結構的某一域名相同,但具有的偏移、類型不同。
在變量或表達式中引用該域而未帶結構名時,會產生二義性,此時需修改某個域名或在引用時加上結構名。
Argument#missingname(參數#名丟失)
分析與處理:
參數名已脫離用於定義函數的函數原型。
如果函數以原型定義,該函數必須包含所有的參數名。
Argumentlistsyntaxerror(參數表出現語法錯誤)
分析與處理:
函數調用的參數間必須以逗號隔開,並以一個右括號結束。
若源文件中含有一個其後不是逗號也不是右括號的參數,則出錯。
Arrayboundsmissing(數組的界限符"]"丟失)
分析與處理:
在源文件中定義了一個數組,但此數組沒有以下右方括號結束。
Arraysizetoolarge(數組太大)
分析與處理:
定義的數組太大,超過了可用內存空間。
Assemblerstatementtoolong(匯編語句太長)
分析與處理:
內部匯編語句最長不能超過480字節。
Badconfigurationfile(配置文件不正確)
分析與處理:
TURBOC.CFG配置文件中包含的不是合適命令行選擇項的非注解文字。
配置文件命令選擇項必須以一個短橫線開始。
Badfilenameformatinincludedirective(包含指令中文件名格式不正確)
分析與處理:
包含文件名必須用引號("filename.h")或尖括號(
如果使用了宏,則產生的擴展文本也不正確,因為無引號沒辦法識別。
Badifdefdirectivesyntax(ifdef指令語法錯誤)
分析與處理:
#ifdef必須以單個標識符(只此一個)作為該指令的體。
Badifndefdirectivesyntax(ifndef指令語法錯誤)
分析與處理:
#ifndef必須以單個標識符(只此一個)作為該指令的體。
Badundefdirectivesyntax(undef指令語法錯誤)
分析與處理:
#undef指令必須以單個標識符(只此一個)作為該指令的體。
Badfilesizesyntax(位字段長語法錯誤)
分析與處理:
一個位字段長必須是1—16位的常量表達式。
Callofnon-functin(調用未定義函數)
分析與處理:
正被調用的函數無定義,通常是由於不正確的函數聲明或函數名拼錯而造成。
Cannotmodifyaconstobject(不能修改一個長量對象)
分析與處理:
對定義為常量的對象進行不合法操作(如常量賦值)引起本錯誤。
Caseoutsideofswitch(Case出現在switch外)
分析與處理:
編譯程序發現Case語句出現在switch語句之外,這類故障通常是由於括號不匹配造成的。
Casestatementmissing(Case語句漏掉)
分析與處理:
Case語必須包含一個以冒號結束的常量表達式,如果漏了冒號或在冒號前多了其它符號,則會出現此類錯誤。
Characterconstanttoolong(字符常量太長)
分析與處理:
字符常量的長度通常只能是一個或兩個字符長,超過此長度則會出現這種錯誤。
Compoundstatementmissing(漏掉複合語句)
分析與處理:
編譯程序掃描到源文件未時,未發現結束符號(大括號),此類故障通常是由於大括號不匹配所致。
Conflictingtypemodifiers(類型修飾符沖突)
分析與處理:
對同一指針,只能指定一種變址修飾符(如near或far);而對於同一函數,也只能給出一種語言修飾符(如Cdecl、pascal或interrupt)。
Constantexpressionrequired(需要常量表達式)
分析與處理:
數組的大小必須是常量,本錯誤通常是由於#define常量的拼寫錯誤引起。
Couldnotfindfile’xxxxxx.xxx’(找不到’xxxxxx.xx’文件)
分析與處理:
編譯程序找不到命令行上給出的文件。
Declarationmissing(漏掉了說明)
分析與處理:
當源文件中包含了一個struct或union域聲明,而後面漏掉了分號,則會出現此類錯誤。
Declarationneedstypeorstorageclass(說明必須給出類型或存儲類)
分析與處理:
正確的變量說明必須指出變量類型,否則會出現此類錯誤。
Declarationsyntaxerror(說明出現語法錯誤)
分析與處理:
在源文件中,若某個說明丟失了某些符號或輸入多餘的符號,則會出現此類錯誤。
Defaultoutsideofswitch(Default語句在switch語句外出現)
分析與處理:
這類錯誤通常是由於括號不匹配引起的。
Definedirectiveneedsanidentifier(Define指令必須有一個標識符)
分析與處理:
#define後面的第一個非空格符必須是一個標識符,若該位置出現其它字符,則會引起此類錯誤。
Divisionbyzero(除數為零)
分析與處理:
當源文件的常量表達式出現除數為零的情況,則會造成此類錯誤。
Dostatementmusthavewhile(do語句中必須有While關鍵字)
分析與處理:
若源文件中包含了一個無While關鍵字的do語句,則出現本錯誤。
DOwhilestatementmissing((Dowhile語句中漏掉了符號"(")
分析與處理:
在do語句中,若while關鍵字後無左括號,則出現本錯誤。
Dowhilestatementmissing;(Dowhile語句中掉了分號)
分析與處理:
在DO語句的條件表達式中,若右括號後面無分號則出現此類錯誤。
DuplicateCase(Case情況不唯一)
分析與處理:
Switch語句的每個case必須有一個唯一的常量表達式值。
否則導致此類錯誤發生。
Enumsyntaxerror(Enum語法錯誤)
分析與處理:
若enum說明的標識符表格式不對,將會引起此類錯誤發生。
Enumerationconstantsyntaxerror(枚舉常量語法錯誤)
分析與處理:
若賦給enum類型變量的表達式值不為常量,則會導致此類錯誤發生。
ErrorDirective:
xxxx(Error指令:
xxxx)
分析與處理:
源文件處理#error指令時,顯示該指令指出的信息。
ErrorWritingoutputfile(寫輸出文件錯誤)
分析與處理:
這類錯誤通常是由於磁盤空間已滿,無法進行寫入操作而造成。
Expressionsyntaxerror(表達式語法錯誤)
分析與處理:
本錯誤通常是由於出現兩個連續的操作符,括號不匹配或缺少括號、前一語句漏掉了分號引起的。
Extraparameterincall(調用時出現多餘參數)
分析與處理:
本錯誤是由於調用函數時,其實際參數個數多於函數定義中的參數個數所致。
Extraparameterincalltoxxxxxx(調用xxxxxxxx函數時出現了多餘參數)
Filenametoolong(文件名太長)
分析與處理:
#include指令給出的文件名太長,致使編譯程序無法處理,則會出現此類錯誤。
通常DOS下的文件名長度不能超過64個字符。
Forstatementmissing)(For語
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 错误 大全