Alvin Gentry
Sunday, May 31, 2015
Wednesday, June 19, 2013
Các lỗi thường gặp trong c++
Một sô lỗi biên dịch (Compile – time Errors)
thường gặp trong C
-----o0o-----
STT
|
Thông báo lỗi gốc
|
Ý nghĩa
|
1
|
( expected
|
Thiếu dấu …
Các lỗi này thường xảy ra khi ta sơ sót, dẫn ñến thiếu các dấu mở hoặc ñóng
ngoặc.
|
2
|
) expected
|
|
3
|
, expected
|
|
4
|
{ expected
|
|
5
|
} expected
|
|
6
|
286/287 instructions not enabled
|
Tập lệnh của
bộ Vi xử lí 80286 và bộ xử lí toán học chưa ñược kích hoạt.
Vào Options/Compiler/Advanced Code generation… ñể
ñiều chỉnh lại
|
7
|
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.
|
10
|
Array size too large
|
Kích thước của mảng quá lớn, vượt quá dung lượng vùng nhớ quy ước là 64K
|
11
|
Bit field cannot
be static
|
Kiểu dữ liệu bit field không thể có kiểu static
|
12
|
Bit field too large
|
Kích thước của bit field quá lớn
|
13
|
Bit fields must be signed or unsigned int
|
Kiểu dữ liệu của bit field phải là số nguyên
|
14
|
Bit fields must contain at least one bit
|
Kích thước của mỗi bit field phải ≥ 1 bit
|
15
|
Body already defined for this function
|
Hàm ñã ñược ñịnh nghĩa rồi. Lỗi xảy
ra khi ta viết phần thân của một hàm nào ñó ≥ 2 lần
|
16
|
Call of nonfunction
|
Câu lệnh gọi hàm của ta là sai. Tên hàm mà ta gọi có thể là một tên kiểu/hằng/biến,…
|
17
|
Cannot call 'main' from within the 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
|
Người biên soạn: Nguyễn Trần Thi Văn Trang 1
Tài liệu học tập Môn: Lập trình C
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
|
Người biên soạn: Nguyễn Trần Thi Văn Trang 2
Tài liệu học tập Môn: Lập trình C
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, …)
|
Người biên soạn: Nguyễn Trần Thi Văn Trang 3
Tài liệu học tập Môn: Lập trình C
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’
|
Người biên soạn: Nguyễn Trần Thi Văn Trang 4
Tài liệu học tập Môn: Lập trình C
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 )
|
Subscribe to:
Posts (Atom)