Wednesday, June 19, 2013

Các lỗi thường gặp trong c++

Mt sô li biên dch (Compile time Errors)
thường gp trong C

-----o0o-----

STT
Thông báo li gc
Ý nghĩa
1
( expected


Thiếu du
Các lỗi này thưng xy ra khi ta sơ sót, dn ñến thiếu các du m hoc ñóng ngoc.
2
) expected
3
, expected
4
{ expected
5
} expected
6
286/287 instructions not enabled
Tp lnh của bộ Vi x 80286 bộ x toán học chưa ñưc kích hot.
 Vào Options/Compiler/Advanced Code generation ñể ñiu chnh li
7
Ambiguity between 'function1' and
'function2'
2 hàm function1 function2 ging nhau, không thể phân bit ñưc.
8
Array bounds missing ]
Thiếu du ñóng ngoc ] khi truy xut ñến các phn tử của mng
9
Array must have at least one element
Khi khai báo mng phi có ít nht 1 phn t. Xy ra khi khai báo mng mà SPT tối ña âm hoc bng 0.
10
Array size too large
ch thưc của mng quá ln, vưt quá dung lưng ng nhớ quy ưc 64K
11
Bit field cannot be static
Kiu dữ liu bit field không thể có kiu static
12
Bit field too large
ch thưc của bit field quá ln
13
Bit fields must be signed or unsigned int
Kiu dữ liu của bit field phi là s nguyên
14
Bit fields must contain at least one bit
ch thưc của mỗi bit field phi 1 bit
15
Body already defined for this function
Hàm ñã ñưc ñịnh nghĩa rồi. Lỗi xy ra khi ta viết phn thân của một hàm nào ñó 2 ln
16
Call of nonfunction
Câu lnh gọi hàm của ta là sai. Tên hàm mà ta gọi có thể một tên kiu/hng/biến,
17
Cannot call 'main' from within the program
Không thể gọi thc hin hàm main() trong cơng trình, ñây là một hàm ñc bit, tự ñộng thực
hin 1 ln trong mỗi ln chy CT.
18
Cannot cast from 'type1' to 'type2'
Không thể ép kiu dữ liu từ kiu 1 sang kiu 2
19
Cannot convert 'type1' to 'type2'
Không thể chuyn ñổi kiu dữ liu từ kiu 1 sang kiu 2
20
Cannot initialize 'type1' with 'type2'
Không thể khi gán dữ liu thuộc kiu 2 cho biến thuộc kiu 1
21
Cannot modify a const object
Không thể thay ñổi giá tr của một hng số. Xy ra khi ta thực hin phép gán g tr mi cho 1 hng
22
Case outside of switch
Lnh CASE nm bên ngoài SWITCH


Ngưi biên son: Nguyn Trn Thi Văn                                                                            Trang 1



Tài liu hc tp                                                                                                                                                Môn: Lp trình C

23
Case statement missing :
Lnh CASE thiếu du 2 chm (:)
24
Character constant must be one or two characters long
ch thưc của hng kí t không ñúng. Xy ra khi ta ghi một chuỗi dài các tự vào gia cp du nháy ñơn
25
Compound statement missing }
Thiếu du } kết thúc khối lnh
26
Constant expression required
Vị trí này l ra phi một biu thức hng, giá tr không ñổi.
27
Could not find a match for argument(s)
Không tìm thy ñối s thích hp.
28
Could not find file 'filename'
Không tìm thy tp tin
29
Declaration is not allowed here
Vị trí khai báo sai. Không ñưc khai báo ti ñây.
30
Declaration missing ;
Khai báo thiếu du chm phy (;)
31
Declaration syntax error
Khai báo không ñúng cú pháp
32
Declaration terminated incorrectly
Khai báo sai (gn giống lỗi trên)
33
Declaration was expected
Thiếu khai báo
34
Default outside of switch
Lnh mc ñịnh DEFAULT nm bên ngoài khối lnh SWITCH
35
Default value missing
Thiếu giá tr mc ñnh
36
Division by zero
Chia cho 0, lỗi này xy ra khi mu s của một phn s có g tr bng 0.
37
do statement must have while
Lnh do phi ñi vi while. Xy ra khi thiếu while trong câu lnh do…
38
do-while statement missing (


Thiếu trong u lnh do…while
39
do-while statement missing )
40
do-while statement missing ;
41
Duplicate case
Lnh CASE bị trùng, xy ra khi ta viết 2 ng case khác nhau nhưng cùng một giá tr như nhau.
42
Expression expected
Vị trí này phi một biu thức
43
Expression syntax
Sai cú pháp khi xây dựng biu thức
44
Extra parameter in call to function
Gọi thc hin hàm nhưng li truyn dư tham s
45
File name too long
Tên tp tin quá dài.
46
For statement missing (


Thiếu trong u lnh 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 g trị, thông thưng ta khai báo hàm kiu void
50
'function' must be declared with no parameters
Hàm có tên function’ phi ñưc khai báo không có tham số, xy ra khi phn khai báo (prototype)
và phn thân hàm không ging 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 son: Nguyn Trn Thi Văn                                                                            Trang 2



Tài liu hc tp                                                                                                                                                Môn: Lp trình C

52
'function' must be declared with two parameters

53
Function 'function' should have a prototype
Hàm có tên function’ cn phi ñưc khai báo. Li thưng gp khi trình biên dch C không hiu 1 tên hàm nào ñó mà ta s dụng, có th do thiếu
#include tp tin tiêu ñề tương ng, hoc gõ sai tên.
54
Function call missing )
Gọi thc hin hàm thiếu )
55
Function calls not supported
Không thể gọi hàm dng y/kiu này
56
Function should return a value
Hàm cần phi tr về 1 giá trị, xy ra khi ta khai báo hàm có kiu tr về nhưng li thiếu câu lnh return
57
Goto statement missing label
Dùng lnh goto mà không nhãn
58
'identifier' is not a member of struct
Tên không phi là thành phn của cấu trúc, xy ra khi ta viết tên thành phn sai
59
'identifier' is not a parameter
Tên không phi là một tham s
60
Identifier expected
Thiếu tên biến.
61
If statement missing (

Câu lnh if thiếu m hay ñóng ngoc
62
If statement missing )
63
Illegal character 'character' (0x'value')
t không hp l, tng xy ra khi ta biu din các hng s hệ hexa, nhưng li s dụng các chữ
cái khác A..F hay a..f
64
Illegal octal digit
Không phi là một s hệ 8 hp l
65
Illegal pointer subtraction
Thực hin phép tr không hp lệ trên con tr
66
Illegal use of floating point
Dùng du chm ñộng không ñúng, dụ s dụng phép toán modulo % trên s thực chng hn.
67
Illegal use of pointer
Dùng con tr không hp l
68
Implicit conversion of 'type1' to 'type2' not allowed
Không cho phép ngm chuyn từ kiu 1 sang kiu
2
69
Improper use of typedef 'identifier'
Kiu dữ liu ñưc s dụng không ñúng.
70
Incompatible type conversion
Không thể chuyn ñổi kiu dữ liu
71
Incorrect number format
Không phi là dữ liu dng số, thưng xy ra khi ta gõ c tự khác 0..9 trong một dữ liu kiu s
72
Incorrect use of default
Dùng DEFAULT không ñúng
73
Invalid use of dot
Dùng du chm (.) không ñúng vị trí
74
Lvalue required
Vế trái ca phép gán phi một tên biến. Lỗi xy ra khi ta gán g tr cho một hng.
75
main must have a return type of int
Hàm main phi tr về 1 giá tr kiu int
76
Misplaced break
Dùng break ngoài ng lp hoc ngoài SWITCH
77
Misplaced continue
Dùng continue ngoài ng lp
78
Misplaced decimal point
Du chm thp phân sai vị trí
79
Misplaced else
Dùng else sai vị trí (thiếu if, …)


Ngưi biên son: Nguyn Trn Thi Văn                                                                            Trang 3



Tài liu hc tp                                                                                                                                                Môn: Lp trình C

80
'new' and 'delete' not supported
Không ñưc phép ng new delete trong cp phát vùng nhớ ñộng.
81
No : following the ?
Toán tử ñiu kin thiếu du 2 chm (:)
82
No file name ending
Không có phn kết thúc tên tp tin
83
No file names given
Không có tên tp tin
84
No type information
Không tìm thy thông tin gì về kiu d liu
85
Not an allowed type
Kiu dữ liu này không cho phép dùng ñây
86
Numeric constant too large
Hng s có giá tr quá ln
87
Pointer to structure required on left side of -> or ->*
Xy ra khi ng con tr cu trúc không ñúng cách
ñể truy xut các thành phn của cu trúc
88
sizeof may not be applied to a bit field
Toán tử sizeof() không dùng cho kiu 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
ch thưc của bng 0 hoc không xác ñnh
91
Size of the type is unknown or zero
ch thưc của kiu dữ liu bng 0 hoc không xác ñịnh
92
Statement missing ;
Thiếu du chm phy (;), thông thưng do thiếu du ; tai dòng trên của dòng báo lỗi
93
Structure required on left side of . or .*
Xy ra khi truy xut các thành phn ca cu trúc không ñúng ch.
94
Structure size too large
ch thưc của cấu trúc quá ln, t quá gii hn 64K chng hn.
95
Switch statement missing (
Câu lnh switch thiếu ngoặc. Phn g tr ca lnh switch phi ñưc ñt trong cp du ngoc
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 nm trong phm vi của một biến kiu nguyên (int)
98
Too few parameters in call to function
Gọi thc hin hàm nhưng li truyn không ñủ s
ng tham số.
99
Too many decimal points
Biu din s thc nhưng dùng nhiu hơn 1 du chm thp phân
100
Too many default cases
Trong u lnh switch nhiu hơn 1 lnh default
101
Too many errors or warning messages
Có quá nhiu lỗi hoc cnh báo trong cơng trình. Xy ra khi chương trình nhiu hơn 25 lỗi
102
Too many types in declaration
Khai báo quá nhiu kiu dữ liu mi (ít gp)
103
Too much global data defined in file
Có quá nhiu biến toàn cục trong cơng trình, gây tràn ng nhớ dành riêng cho các biến này.
104
Type mismatch in default argument value
Giá tr mc ñnh của tham s truyn cho CT con bị
sai kiu.
105
Type mismatch in default value for parameter 'parameter'
Giá tr mc ñnh của tham s bị sai kiu.
106
Type mismatch in parameter 'number' in call to 'function'
Truyn tham s cho cơng trình con function’
bị sai kiu  tham s number


Ngưi biên son: Nguyn Trn Thi Văn                                                                            Trang 4



Tài liu hc tp                                                                                                                                                Môn: Lp trình C


107
Type mismatch in parameter 'parameter'
Tham s bị sai kiu
108
Type mismatch in parameter 'parameter' in call to 'function'
Gn giống lỗi 106
109
Type name expected
Thiếu tên kiu ti vị trí báo lỗi
110
Type 'typename' may not be defined here
Kiu dữ liu không thể ñịnh nghĩa vị trí này
ñưc
111
Unable to create turboc.$ln
Không thể to ñưc tp tin turboc.1$n Tng xy ra khi ta chy TurboC trên ñĩa mm hay ñĩa CD.
112
Unable to execute command 'command'
Không thể thực hin lnh
113
Unable to open include file 'filename'
Không thể m ñưc tp tin tiêu ñề thưng xy ra do ta viết tên tp tin tiêu ñề sai, hoc tp tin này không tồn ti trên ñĩa.
114
Undefined label 'identifier'
Nhãn chưa ñưc khai báo
115
Undefined structure 'structure'
Cu trúc chưa ñưc khai báo
116
Undefined symbol 'identifier'
hiu chưa ñưc khai báo, thưng xy ra trong trưng hp ta s dng biến mà chưa khai báo.
117
Unexpected }
du ñóng ngoc }
118
Unexpected end of file in comment started on 'line number'


Tng xy ra trong trưng hp thiếu du ñóng ngoc } ca hàm main().
119
Unexpected end of file in conditional started on 'line number'
120
Unknown language, must be C or C++
Một pháp l, không phi là cú pháp của C hay
C++
121
User break
Chương trình bị ngt do ngưi s dụng
122
Value of type void is not allowed
Không ñưc phép gán dữ liu cho biến kiu void
123
Variable 'identifier' is initialized more than once
Biến ñưc khi to nhiu ln.
124
void & is not a valid type
Không chp nhn tham chiếu ñến biến kiu void
125
While statement missing (
Câu lnh while thiếu ngoc. Phn ñiu kin của lnh while phi ñưc ñt trong du ngoặc.
126
While statement missing )