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实用程序,可能会出现其他错误。这些错误不在此帮助的范围之内。