Compiler Error Messages
在程序编译期间,可能会出现三种错误:
编译器警告:
警告不会停止编译,只是提醒用户在代码中尝试了一些不推荐的和容易出错的操作。
有时,这些操作之一有意识地编码以达到结果,在这种情况下,可以通过在命令行中设置
-w 1
选项来禁用警告。
1 将标量作为指针传递
2 将指针传递给标量
3 传递不同的指针类型
4 可疑指针分配
5 隐式转换
6 无法导出符号--export选项
7 标识符的名称太大,被截断
8 字面数太大,截断
9 字面字符串太大,被截断
10 UDT带指针或var-len字符串字段
11 隐式变量分配
12 在文字字符串中缺少关闭报价
13 函数结果未明确设置
14 分支交叉局部变量定义
15 没有明确的BYREF或BYVAL
16 可能的转义序列
17 类型长度太大,请考虑通过BYREF
18 参数列表的长度太大,考虑传递UDT的BYREF
19 使用默认构造函数,ANY初始化器对UDT没有任何影响
20 具有混合多线程(-mt)选项的对象文件或库
21 具有混合语言(-lang)选项的对象文件或库
22 删除任何指针是未定义的
23 对于堆栈来说,数组太大,考虑使其变为var-len或SHARED
24 变量对于堆栈来说太大,考虑使其共享
25 恒定转换溢出
26 NEXT之后的变量是无意义的
27 投射到非指针
28 返回方法不匹配
29 通过指针
30 命令行选项覆盖指令
31 指令在第一次通过后被忽略
32 “IF”语句直接发现多行“ELSE”
33 Shift值大于或等于数据类型中的位数
34 '='在函数参数中解析为等式运算符,而不分配给BYREF函数结果
35 混合有符号/无符号操作数
36 不匹配参数初始化器
编译器错误消息:
错误消息在10个错误后停止编译(请参阅-maxerr命令行选项来更改该默认值)或发生致命错误,并且在编译可以继续之前需要用户进行更正。编译器向发现错误的行发出信号,因此可以快速完成校正。在一些情况下,错误消息指向的地方不是可以找到错误的地方,它是编译器在等待某处应该放弃的地方。
1 参数计数不匹配
2 缺少的文件末尾
3 缺少终止线
4 重复定义
5 缺少'AS'
6 缺少'('
7 缺少')'
8 未定义的符号
9 缺少表达
10 缺少'='
11 缺少不变
12 缺少'TO'
13 缺少'NEXT'
14 缺少标识符
15 缺少' - '
16 缺少','
17 语法错误
18 元素未定义
19 缺少的“END TYPE”或“END UNION”
20 类型不匹配
21 内部!
22 参数类型不匹配
23 文件未找到
24 数据类型无效
25 无效字符
26 文件访问错误
27 递归程度太深
28 缺少指针
29 缺少“LOOP”
30 缺少'WEND'
31 缺少'THEN'
32 缺少'END IF'
33 非法的'END'
34 缺少'CASE'
35 缺少'END SELECT'
36 尺寸错误
37 数组边界与原始EXTERN声明不符
38 'SUB'或'FUNCTION'没有'END SUB'或'END FUNCTION'
39 缺少'END SUB'或'END FUNCTION'
40 非法参数规格
41 变量未声明
42 所需变量
43 非法复合声明外
44 缺少'END ASM'
45 函数未声明
46 缺少';'
47 未定义的标签
48 阵列尺寸太多
49 数组太大
50 用户定义类型太大
51 缺少标量计数器
52 在建筑师,破坏者,功能,操作者,财产或子块之外的非法行为
53 缺少仅VAR阵列
54 固定的len字符串不能从函数返回
55 数组已确定尺寸
56 没有-ex选项的非法
57 类型不匹配
58 非法规范
59 缺少'END WITH'
60 非法的内部功能
61 SELECT和第一个CASE之间的语句
62 缺少阵列
63 缺少'{'
64 缺少'}'
65 缺少']'
66 表达式太多
67 缺少显式结果类型
68 范围太大
69 不允许转发参考
70 不完整的类型
71 数组未标注
72 数组访问,索引缺少
73 缺少'END ENUM'
74 Var-len数组无法初始化
75 '...'省略号上限为动态数组(不支持)
76 '...'为数组字段赋予省略号上限(不支持)
77 位域无效
78 参数太多
79 宏文本太长
80 无效的命令行选项
81 为DOS编译时选择非x86 CPU
82 选择-gen气体ASM后端用于非x86 CPU
83 -asm att用于-gen气体,但是-gen气体仅支持-asm intel
84 -pic在制作可执行文件时使用(仅在制作共享库时有效)
85 -pIC已使用但不受目标系统支持(仅适用于非x86 Unix)
86 Var-len字符串无法初始化
87 递归TYPE或UNION不允许
88 递归DEFINE不允许
89 标识符不能包含句点
90 可执行文件未找到
91 阵列超出范围
92 缺少命令行选项
93 缺少“任何”
94 缺少“结束范围”
95 复合语句或范围块内的非法
96 UDT函数结果不能通过引用传递
97 模糊调用重载功能
98 没有匹配的超载功能
99 被零除
100 不能弹起堆叠,下溢
101 不能初始化UDT的包含var-len字符串字段
102 分支到包含局部变量的范围块
103 分支到其他功能或模块级别
104 分支交叉局部数组,var-len字符串或对象定义
105 LOOP没有DO
106 NEXT没有FOR
107 WEND没有WHILE
108 END WITH WITH WITH
109 END IF没有IF
110 END SELECT没有SELECT
111 END SUB或FUNCTION,不带SUB或FUNCTION
112 END SCOPE没有SCOPE
113 END NAMESPACE没有NAMESPACE
114 END外部没有外部
115 ELSEIF无IF
116 ELSE无IF
117 CASE没有SELECT
118 不能修改常数
119 缺少( '.' )
120 缺少“终结名”
121 在NAMESPACE块内非法
122 命名空间内定义的符号不能被删除
123 缺少'END EXTERN'
124 缺少'END SUB'
125 缺少的“结束功能”
126 缺少的“END CONSTRUCTOR”
127 缺少'END DESTRUCTOR'
128 缺少'END OPERATOR'
129 缺少'END PROPERTY'
130 在原始命名空间之外的声明
131 多行评论结束,缺少“'/”
132 太多错误,退出
133 缺少'ENDMACRO'
134 EXTERN或COMMON变量无法初始化
135 EXTERN或COMMON动态数组不能有初始界限
136 至少一个参数必须是用户定义的类型
137 参数或结果必须是用户定义的类型
138 两个参数不能是相同的类型
139 参数和结果不能是同一类型
140 此运算符的结果类型无效
141 参数类型无效,它必须与父类TYPE / CLASS相同
142 重载函数中不允许使用Vararg参数
143 OPERATOR区外的非法
144 参数不可选
145 仅在-lang中有效
146 默认类型或后缀仅在-lang中有效
147 后缀仅在-lang中有效
148 隐式变量仅在-lang中有效
149 自动变量仅在-lang中有效
150 数组索引无效
151 运算符必须是成员函数
152 运算符不能是成员函数
153 在匿名UDT中声明的方法
154 常数在匿名UDT中声明
155 静态变量在匿名UDT中声明
156 缺少的运营商
157 在原始命名空间或类之外的声明
158 析构函数不应该有任何参数
159 期望的类或UDT标识符
160 Var-len字符串不能是UNION或嵌套TYPE的一部分
161 动态数组不能是UNION或嵌套TYPE的一部分
162 具有构造函数的域不能是UNION或嵌套TYPE的一部分
163 具有析构函数的域不能是UNION或嵌套TYPE的一部分
164 在CONSTRUCTOR块外面是非法的
165 在DESTRUCTOR区外非法
166 UDT的方法必须有唯一的名称
167 父母不是一个类或UDT
168 CONSTRUCTOR()链调用不在构造函数的顶部
169 BASE()初始化器不在构造函数的顶部
170 UDIM与非CDECL构造函数的REDIM
171 在UDT上的REDIM与非CDECL析构函数
172 使用非参数默认构造函数的UDT上的REDIM
173 使用非CDECL构造函数在UDT上执行ERASE
174 使用非CDECL析构函数对UDT进行擦除
175 使用非参数默认构造函数在UDT上执行ERASE
176 此符号不能未定义
177 RETURN与“FUNCTION =”或EXIT FUNCTION混合(使用构造函数返回对象时不支持两种样式)
178 与函数RETURN混合使用“FUNCTION =”或EXIT FUNCTION(使用构造函数返回对象时不支持两种样式)
179 缺少RETURN来复制构造函数结果
180 转让/转换无效
181 无效的数组下标
182 TYPE或CLASS没有默认构造函数
183 函数结果TYPE没有默认构造函数
184 缺少BASE()初始化器(没有默认构造函数的基本UDT需要手动初始化)
185 缺少默认构造函数实现(基础UDT没有默认构造函数需要手动初始化)
186 缺少UDT.constructor(byref作为UDT)实现(基础UDT没有默认构造函数需要手动初始化)
187 缺少UDT.constructor(作为const UDT)的实现(基础UDT没有默认构造函数需要手动初始化)
188 无效的优先级属性
189 PROPERTY GET应该没有参数,或者只有一个索引
190 PROPERTY SET应该有一个参数,或者只有两个参数,如果索引
191 缺少“物业”
192 非法在PROPERTY区块外面
193 PROPERTY没有GET方法/访问器
194 PROPERTY没有SET方法/访问器
195 PROPERTY没有索引的GET方法/访问器
196 PROPERTY没有索引的SET方法/访问器
197 缺少重载操作符:
198 NEW []运算符不允许对构造函数进行显式调用
199 NEW []操作符仅支持{ANY}初始化
200 NEW操作符不能与固定长度的字符串一起使用
201 非法成员访问
202 缺少':'
203 默认构造函数没有公共访问
204 构造函数没有公共访问权限
205 析构函数没有公共访问权限
206 访问基础UDT的私有默认构造函数
207 访问基础UDT的私有析构函数
208 非法非静态成员访问
209 构造函数声明为摘要
210 构造函数声明为VIRTUAL
211 析构函数声明为摘要
212 成员不能静态
213 成员不是静态的
214 只有静态成员可以从静态函数访问
215 REDIM,COMMON或EXTERN不允许使用PRIVATE和PUBLIC属性
216 这里使用STATIC,而不是在DECLARE语句中
217 CONST在这里使用,但不在DECLARE语句中
218 VIRTUAL在这里使用,但不是在DECLARE语句中
219 摘要在这里使用,但不是在DECLARE语句中
220 方法声明为VIRTUAL,但UDT不扩展OBJECT
221 方法声明为ABSTRACT,但UDT不扩展OBJECT
222 不会覆盖任何虚拟方法
223 实现了一个抽象方法
224 覆盖具有与覆盖方法不同的返回类型
225 覆盖与调用方法不同
226 隐式析构函数覆盖将具有不同的调用约定
227 隐式LET操作符覆盖将具有不同的调用约定
228 覆盖不是被覆盖的方法的CONST成员
229 覆盖是CONST成员,但是覆盖方法不是
230 覆盖具有与覆盖方法不同的参数
231 该操作员不能是静态的
232 该运算符隐含地是静态的,不能是虚拟的或摘要的
233 该运算符隐含静态,不能为CONST
234 参数必须是整数
235 参数必须是一个指针
236 缺少的初始化程序
237 字段不能被命名为TYPE中包含成员函数或CLASS中的关键字
238 非法外部FOR复合语句
239 DO复合声明外的非法行为
240 非法外部WHILE复合语句
241 一个SELECT复合语句之外的非法
242 缺少'FOR'
243 缺少'DO'
244 缺少'WHILE'
245 缺少'SELECT'
246 找不到外部FOR复合语句
247 没有找到外部DO复合语句
248 未找到外部WHILE复合语句
249 没有找到外部SELECT复合语句
250 缺少的'CONSTRUCTOR','DESTRUCTOR','DO','FOR','FUNCTION','OPERATOR','PROPERTY','SELECT','SUB'或'WHILE'
251 缺少'DO','FOR'或'WHILE'
252 非法外的一个SUB块
253 FUNCTION区外的非法
254 不明确的符号访问,需要明确的范围解析
255 ENUM,TYPE或UNION不能为空
256 ENUM在EXTERN .. END EXTERN块中声明不会打开新的范围
257 非成员程序使用STATIC
258 CONST用于非成员程序
259 摘要用于非成员程序
260 VIRTUAL用于非成员程序
261 初始化程序无效
262 具有默认[con | de]结构体或方法的对象只允许在模块级别
263 符号不是CLASS,ENUM,TYPE或UNION类型
264 元素太多
265 只支持数据成员
266 UNION不允许
267 数组不允许
268 COMMON变量不能是具有cons / destructors的CLASS / TYPE的对象实例
269 克隆运算符(LET,Copy构造函数)不能使用父类型的副作用
270 无法引用本地符号
271 缺少'PTR'或'POINTER'
272 指针间接级别太多
273 动态数组不能是const
274 Const UDT无法调用非const方法
275 字符串和数组的元素必须为空
276 禁用GOSUB,使用“OPTION GOSUB”启用
277 -lang无效
278 不能使用ANY作为具有省略号限制的数组中的初始化程序
279 必须具有与省略号绑定的数组的初始化程序
280 不能使用...作为下限
281 FOR / NEXT变量名称不匹配
282 选择的选项需要SSE FPU模式
283 缺少关系运算符(=,>,<,<>,<=,>=)
284 -gen gcc模式中不支持的语句
285 标签太多
286 不支持的功能
287 缺少次
288 缺少'#ENDIF'
289 为不支持目标系统的目标系统提供的资源文件
290 -o <文件>选项,没有相应的输入文件
291 不扩展TYPE / UNION(一个TYPE / UNION只能扩展其他TYPE / UNION)
292 CLASS,TYPE或UNION方法之外的非法
293 CLASS,TYPE或UNION不派生
294 CLASS,TYPE或UNION没有构造函数
295 符号类型无运行时类型信息(RTTI)
296 类型没有层次关系
297 期望为CLASS,TYPE或UNION符号类型
298 从不兼容的指针类型转换导出的UDT指针
299 从不相关的UDT指针类型转换导出的UDT指针
300 将导出的UDT指针转换为不兼容的指针类型
301 将导出的UDT指针转换为不相关的UDT指针类型
302 ALIAS名称字符串为空
303 LIB名称字符串为空
304 UDT没有实现抽象方法
305 非虚拟调用ABSTRACT方法
306 #ASSERT条件失败
307 缺少'>'
308 大小无效
309 ALIAS名称与DECLARE原型中提供的ALIAS不同
310 只能在CDECL程序中使用vararg参数
311 过程中的第一个参数可能不是可变的
312 CONST用于构造函数(不需要)
313 CONST用于析构函数(不需要)
第三方程序错误
这些错误发生在源代码编译成汇编程序后,它们来自辅助程序FB需要将源编译为可执行文件:链接器,汇编程序和(对于Windows程序)资源编译器。
如果使用IDE或一个make实用程序,可能会出现其他错误。这些错误不在此帮助的范围之内。