Một số lỗi biên dịch (Compile - Time Errors) thường gặp trong C

Ambiguity between 'function1' and

'function2'

2 hàm function1 và function2 giống nhau, không

thểphân biệt ñược.

8 Array bounds missing ] Thiếu dấu ñóng ngoặc ] khi truy xuất ñến các

phần tửcủa mảng

9 Array must have at least one element Khi khai báo mảng phải có ít nhất 1 phần tử. Xảy

ra khi khai báo mảng mà SPT tối ña là âm hoặc

bằng 0.

pdf5 trang | Chuyên mục: C/C++ | Chia sẻ: dkS00TYs | Lượt xem: 5228 | Lượt tải: 3download
Tóm tắt nội dung Một số lỗi biên dịch (Compile - Time Errors) thường gặp trong C, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
program 
Không thể gọi thực hiện hàm main() trong chương 
trình, vì ñây là một hàm ñặc biệt, tự ñộng thực 
hiện 1 lần trong mỗi lần chạy CT. 
18 Cannot cast from 'type1' to 'type2' Không thể ép kiểu dữ liệu từ kiểu 1 sang kiểu 2 
19 Cannot convert 'type1' to 'type2' Không thể chuyển ñổi kiểu dữ liệu từ kiểu 1 sang 
kiểu 2 
20 Cannot initialize 'type1' with 'type2' Không thể khởi gán dữ liệu thuộc kiểu 2 cho biến 
thuộc kiểu 1 
21 Cannot modify a const object Không thể thay ñổi giá trị của một hằng số. Xảy ra 
khi ta thực hiện phép gán giá trị mới cho 1 hằng 
22 Case outside of switch Lệnh CASE nằm bên ngoài SWITCH 
Tài liệu học tập Môn: Lập trình C 
Người biên soạn: Nguyễn Trần Thi Văn Trang 2 
23 Case statement missing : Lệnh CASE thiếu dấu 2 chấm (:) 
24 Character constant must be one or two 
characters long 
Kích thước của hằng kí tự không ñúng. Xảy ra khi 
ta ghi một chuỗi dài các kí tự vào giữa cặp dấu 
nháy ñơn ‘’ 
25 Compound statement missing } Thiếu dấu } kết thúc khối lệnh 
26 Constant expression required Vị trí này lẽ ra phải là một biểu thức hằng, có giá 
trị không ñổi. 
27 Could not find a match for argument(s) Không tìm thấy ñối số thích hợp. 
28 Could not find file 'filename' Không tìm thấy tập tin 
29 Declaration is not allowed here Vị trí khai báo sai. Không ñược khai báo tại ñây. 
30 Declaration missing ; Khai báo thiếu dấu chấm phẩy (;) 
31 Declaration syntax error Khai báo không ñúng cú pháp 
32 Declaration terminated incorrectly Khai báo sai (gần giống lỗi trên) 
33 Declaration was expected Thiếu khai báo 
34 Default outside of switch Lệnh mặc ñịnh DEFAULT nằm bên ngoài khối 
lệnh SWITCH 
35 Default value missing Thiếu giá trị mặc ñịnh 
36 Division by zero Chia cho 0, lỗi này xảy ra khi mẫu số của một 
phần số có giá trị bằng 0. 
37 do statement must have while Lệnh do phải ñi với while. Xảy ra khi thiếu while 
trong câu lệnh do… 
38 do-while statement missing ( 
Thiếu … trong câu lệnh do…while 39 do-while statement missing ) 
40 do-while statement missing ; 
41 Duplicate case Lệnh CASE bị trùng, xảy ra khi ta viết 2 dòng 
case khác nhau nhưng cùng một giá trị như nhau. 
42 Expression expected Vị trí này phải là một biểu thức 
43 Expression syntax Sai cú pháp khi xây dựng biểu thức 
44 Extra parameter in call to function Gọi thực hiện hàm nhưng lại truyền dư tham số 
45 File name too long Tên tập tin quá dài. 
46 For statement missing ( 
Thiếu … trong câu lệnh for 47 For statement missing ) 
48 For statement missing ; 
49 'function' cannot return a value Hàm có tên ‘function’ không thể trả về một giá trị, 
thông thường vì ta khai báo nó là hàm kiểu void 
50 'function' must be declared with no 
parameters 
Hàm có tên ‘function’ phải ñược khai báo không 
có tham số, xảy ra khi phần khai báo (prototype) 
và phần thân hàm không giống nhau về số tham số 
51 'function' must be declared with one 
parameter Tương tự như lỗi trên 
Tài liệu học tập Môn: Lập trình C 
Người biên soạn: Nguyễn Trần Thi Văn Trang 3 
52 'function' must be declared with two 
parameters 
53 Function 'function' should have a 
prototype 
Hàm có tên ‘function’ cần phải ñược khai báo. Lỗi 
thường gặp khi trình biên dịch C không hiểu 1 tên 
hàm nào ñó mà ta sử dụng, có thể do thiếu 
#include tập tin tiêu ñề tương ứng, hoặc gõ sai tên. 
54 Function call missing ) Gọi thực hiện hàm thiếu ) 
55 Function calls not supported Không thể gọi hàm dạng này/kiểu này 
56 Function should return a value Hàm cần phải trả về 1 giá trị, xảy ra khi ta khai 
báo hàm có kiểu trả về nhưng lại thiếu câu lệnh 
return… 
57 Goto statement missing label Dùng lệnh goto mà không có nhãn 
58 'identifier' is not a member of struct Tên … không phải là thành phần của cấu trúc, xảy 
ra khi ta viết tên thành phần sai 
59 'identifier' is not a parameter Tên … không phải là một tham số 
60 Identifier expected Thiếu tên biến. 
61 If statement missing ( 
Câu lệnh if thiếu mở hay ñóng ngoặc 
62 If statement missing ) 
63 Illegal character 'character' (0x'value') Kí tự không hợp lệ, thường xảy ra khi ta biểu diễn 
các hằng số hệ hexa, nhưng lại sử dụng các chữ 
cái khác A..F hay a..f 
64 Illegal octal digit Không phải là một số hệ 8 hợp lệ 
65 Illegal pointer subtraction Thực hiện phép trừ không hợp lệ trên con trỏ 
66 Illegal use of floating point Dùng dấu chấm ñộng không ñúng, ví dụ sử dụng 
phép toán modulo % trên số thực chẳng hạn. 
67 Illegal use of pointer Dùng con trỏ không hợp lệ 
68 Implicit conversion of 'type1' to 'type2' 
not allowed 
Không cho phép ngầm chuyển từ kiểu 1 sang kiểu 
2 
69 Improper use of typedef 'identifier' Kiểu dữ liệu … ñược sử dụng không ñúng. 
70 Incompatible type conversion Không thể chuyển ñổi kiểu dữ liệu 
71 Incorrect number format Không phải là dữ liệu dạng số, thường xảy ra khi 
ta gõ các kí tự khác 0..9 trong một dữ liệu kiểu số 
72 Incorrect use of default Dùng DEFAULT không ñúng 
73 Invalid use of dot Dùng dấu chấm (.) không ñúng vị trí 
74 Lvalue required Vế trái của phép gán phải là một tên biến. Lỗi xảy 
ra khi ta gán giá trị cho một hằng. 
75 main must have a return type of int Hàm main phải trả về 1 giá trị kiểu int 
76 Misplaced break Dùng break ngoài vòng lặp hoặc ngoài SWITCH 
77 Misplaced continue Dùng continue ngoài vòng lặp 
78 Misplaced decimal point Dấu chấm thập phân sai vị trí 
79 Misplaced else Dùng else sai vị trí (thiếu if, …) 
Tài liệu học tập Môn: Lập trình C 
Người biên soạn: Nguyễn Trần Thi Văn Trang 4 
80 'new' and 'delete' not supported Không ñược phép dùng new và delete trong cấp 
phát vùng nhớ ñộng. 
81 No : following the ? Toán tử ñiều kiện thiếu dấu 2 chấm (:) 
82 No file name ending Không có phần kết thúc tên tập tin 
83 No file names given Không có tên tập tin 
84 No type information Không tìm thấy thông tin gì về kiểu dữ liệu 
85 Not an allowed type Kiểu dữ liệu này không cho phép dùng ở ñây 
86 Numeric constant too large Hằng số có giá trị quá lớn 
87 Pointer to structure required on left side 
of -> or ->* 
Xảy ra khi dùng con trỏ cấu trúc không ñúng cách 
ñể truy xuất các thành phần của cấu trúc 
88 sizeof may not be applied to a bit field Toán tử sizeof() không dùng cho kiểu bit field 
89 sizeof may not be applied to a function Toán tử sizeof() không dùng cho hàm 
90 Size of 'identifier' is unknown or zero Kích thước của … bằng 0 hoặc không xác ñịnh 
91 Size of the type is unknown or zero Kích thước của kiểu dữ liệu bằng 0 hoặc không 
xác ñịnh 
92 Statement missing ; Thiếu dấu chấm phẩy (;), thông thường do thiếu 
dấu ; tai dòng trên của dòng báo lỗi 
93 Structure required on left side of . or .* Xảy ra khi truy xuất các thành phần của cấu trúc 
không ñúng cách. 
94 Structure size too large Kích thước của cấu trúc quá lớn, vượt quá giới 
hạn 64K chẳng hạn. 
95 Switch statement missing ( Câu lệnh switch thiếu ngoặc. Phần giá trị của lệnh 
switch phải ñược ñặt trong cặp dấu ngoặc 96 Switch statement missing ) 
97 The value for 'identifier' is not within the 
range of an int 
Giá trị của biến … không nằm trong phạm vi của 
một biến kiểu nguyên (int) 
98 Too few parameters in call to function Gọi thực hiện hàm nhưng lại truyền không ñủ số 
lượng tham số. 
99 Too many decimal points Biểu diễn số thực nhưng dùng nhiều hơn 1 dấu 
chấm thập phân 
100 Too many default cases Trong câu lệnh switch có nhiều hơn 1 lệnh default 
101 Too many errors or warning messages Có quá nhiều lỗi hoặc cảnh báo trong chương 
trình. Xảy ra khi chương trình có nhiều hơn 25 lỗi 
102 Too many types in declaration Khai báo quá nhiều kiểu dữ liệu mới (ít gặp) 
103 Too much global data defined in file Có quá nhiều biến toàn cục trong chương trình, 
gây tràn vùng nhớ dành riêng cho các biến này. 
104 Type mismatch in default argument value Giá trị mặc ñịnh của tham số truyền cho CT con bị 
sai kiểu. 
105 Type mismatch in default value for 
parameter 'parameter' 
Giá trị mặc ñịnh của tham số … bị sai kiểu. 
106 Type mismatch in parameter 'number' in 
call to 'function' 
Truyền tham số cho chương trình con ‘function’ 
bị sai kiểu ở tham số ‘number’ 
Tài liệu học tập Môn: Lập trình C 
Người biên soạn: Nguyễn Trần Thi Văn Trang 5 
107 Type mismatch in parameter 'parameter' Tham số … bị sai kiểu 
108 Type mismatch in parameter 'parameter' 
in call to 'function' 
Gần giống lỗi 106 
109 Type name expected Thiếu tên kiểu tại vị trí báo lỗi 
110 Type 'typename' may not be defined here Kiểu dữ liệu … không thể ñịnh nghĩa ở vị trí này 
ñược 
111 Unable to create turboc.$ln Không thể tạo ñược tập tin turboc.1$n Thường 
xảy ra khi ta chạy TurboC trên ñĩa mềm hay ñĩa 
CD. 
112 Unable to execute command 'command' Không thể thực hiện lệnh … 
113 Unable to open include file 'filename' Không thể mở ñược tập tin tiêu ñề … thường xảy 
ra do ta viết tên tập tin tiêu ñề sai, hoặc tập tin này 
không tồn tại trên ñĩa. 
114 Undefined label 'identifier' Nhãn … chưa ñược khai báo 
115 Undefined structure 'structure' Cấu trúc … chưa ñược khai báo 
116 Undefined symbol 'identifier' Ký hiệu … chưa ñược khai báo, thường xảy ra 
trong trường hợp ta sử dụng biến mà chưa khai 
báo. 
117 Unexpected } Dư dấu ñóng ngoặc } 
118 Unexpected end of file in comment 
started on 'line number' Thường xảy ra trong trường hợp thiếu dấu ñóng 
ngoặc } của hàm main(). 119 Unexpected end of file in conditional 
started on 'line number' 
120 Unknown language, must be C or C++ Một cú pháp lạ, không phải là cú pháp của C hay 
C++ 
121 User break Chương trình bị ngắt do người sử dụng 
122 Value of type void is not allowed Không ñược phép gán dữ liệu cho biến kiểu void 
123 Variable 'identifier' is initialized more 
than once 
Biến … ñược khởi tạo nhiều lần. 
124 void & is not a valid type Không chấp nhận tham chiếu ñến biến kiểu void 
125 While statement missing ( Câu lệnh while thiếu ngoặc. Phần ñiều kiện của 
lệnh while phải ñược ñặt trong dấu ngoặc. 126 While statement missing ) 

File đính kèm:

  • pdfMột số lỗi biên dịch (Compile - Time Errors) thường gặp trong C.pdf