联合不能包含位成员,这个限制是由8051结构决定的。 *ERROR 149:function member in struct/union
结构或者联合不能包含函数类型的成员。但是指向函数的指针是允许的 *ERROR 150:bit member in struct/union
结构或者联合不能包含位类型的成员,这个限制是由8051 结构决定的 *ERROR 151:self relative struct/union 结构或者联合不能包含自身
*ERROR 152:bit field type too small for number of bits 位域声明中指定的位数超过所给原型中位的数量 *ERROR 153:named bit-field cannot have 0 width 命名的域宽度为0 错误,只有未命名的位域允许是0宽度 *ERROR 154:pro to field 无指向位域指针的类型
*ERROR 155:char/int required for fields
位域基类型要求char 或int类型,unsigned char 或unsigned int 也有效 *ERROR 156:alien permitted on function only Alien 只能用于函数
*ERROR 157:var_parms on alien function
有变参数的函数不能用alien ,因为PL/M51函数只能用固定数量的参数 *ERROR 158:function contains unnamed parameter
函数定义的参数表中包含无名参数。无名参数只允许用于函数的原型中 *ERROR 159:type follows void
函数原型声明中可含一个空的参数表f(void)。Void后不能再用其他类型定义 *ERROR 160:void invalid
Void类型只能与指针合用或表明函数没有返回值 *ERROR 161:formal parameter ignored
函数内的外部函数引用声明使用了无类型的参数表。例如“ extern(a,b,c);”要求形参表 *ERROR 162:duplicate function-parameter 函数内参数名重复
*ERROR 163:unknown array size
一般的不管是一维数组还是多维数组或外部数组,都需要指定数组的大小,这个大小是由编 译器的初始化时计算,这个错误表明试图为一个未定维的数组使用sizeof运算符,会哦着一 个多维数组的附加元素未定义。 *ERROR 164:ptr to null
这一个错误通常是由前一个错误造成的 *ERROR 165:ptr to bit
指向位的指针不是合法的类型 *ERROR 166:array of function
数组不能包含函数,但可能包含指向函数的指针。 *ERROR 167:array of fields 位域不能安排为数组 *ERROR 168:array of bit 数组没有位类型
*ERROR 169:function returns function
函数不能返回函数,但可以返回一个指向函数的指针 *ERROR 170:function returns array 函数不能返回数组,但可返回指向数组的指针 *ERROR 171:missing enclosing swith
Break/continue 语句只能出现在for,while,do while或switch语句中间。 *ERROR 172:missing enclosing swith Case语句只能用在switch语句中 *ERROR 173:missing return-expression
返回类型不是integer 的函数必须包含一条代表达式的return 语句。由于要与老版本兼容, 编译器对返回整形值的函数不做检查
*ERROR 174:return-expression on void-function
Void 函数不能返回值,因此不能包含带表达式return的语句 *ERROR 175:duplicate case value
每个case 语句必须包含一个常量表达式做其变量,这个值不能在switch 语句的各级中出现 多次
*ERROR 176:more than one default
Switch语句中不能包含多于一个的default语句 *ERROR 177:different struct/union 赋值或参数传递中使用了结构/联合的不同类型 *ERROR 178:struct/union comparison illegal 根据ANSI C,两个结构或联合的比较是不允许的 *ERROR 179:cannot/cast from/to void-type
将void类型转化为其他类型数据或将其他类型转化为void类型都是非法的 *ERROR 180:cannot cast to’function’
转化为function是非法的,使用函数指针指向不同的函数 *ERROR 181:incompatible operand
在所给的运算符中至少有一个操作符类型是无效的 *ERROR 182:point to different object
报告指针使用不一致
*ERROR 183:unmodifiable value
预修改的对象位于CODE 存储区,因而不能修改 *ERROR 184:sizeof :illegal operand Sizeof运算符不能决定函数或位域大小 *ERROR 185:different memory space 对象说明的存储空间与前面的不一致 *ERROR 186:invalid dereference 这条错误信息可能由编译器内部问题产生的 *ERROR 187:not an lvalue 所需参量必须是可变对象的地址 *ERROR 188:unknown object size
无法计算对象的大小,因为缺少数组的维数或因为通过void指针的间接访问 *ERROR 189:‘&’on bit/sfr illegal 地址操作符‘&’不允许用于位对象或sfr *ERROR 190:’&’:not an lvalue 地质部是可变的对象,不能作为左值 *ERROR 191:‘&’on constant 试图为所列类型常数建立指针
*ERROR 192:‘&’on array/function
地址操作符&不允许用于数组或函数,函数和数组本身都代表了地址 *ERROR 193:illegal op-type(s) *ERROR 193:illegal add/sub on ptr *ERROR 193:illegal operation on bit(s) *ERROR 193:bad operand type
当一个表达式使用给定运算符的非法操作类型时就会出现该错误,使用个定运算符的非法操 作类型的无效的表达式,例如bit+bit,ptr+ptr,或ptr*。错误信息包括引起错误的运算符。 下列运算可使用位操作符 赋值(=)
OR/复合OR(|,|=) AND/复合AND(&,&=) XOR/复合XOR(^,^=)
位或常数的安位比较(= =,!=) 取反(~)
*ERROR 194:’*’indirection to object of unknown size
间接操作符*不能用于void指针(void*),因为指针所指的对象的大小时未知的
*ERROR 195:’*’illegal indirection 间接操作符*不能用于非指针变量 *ERROR 196:mspace probably invalid
产生此警告是因为某些常数值赋给指针并且常数没有形成一个有效的指针值,有效的指针常 数类型为long/unsigned long。编译器对指针对象采用24bit(3 字节),低16 位表示偏移,高
8 位表示存储类的选择,在低字节中,值从1 到5 表明了xdata/pdata/idata/data/和code 的存 储类
*ERROR 197:illegal pointer assignment
试图将一个非法变量赋给指针,只有另一个指针或指针变量可以赋给指针 *ERROR 198:size of returns zero
求某些对象长度得到0,如果对象是外部的或一个数组中并非所有维的大小都是已知时得到 0,这时候该值可能是错的。
*ERROR 199:left size of’->’requires struct/union pointer ->操作符的左边变量必须是结构或变量
*ERROR 200:left size of ‘.’requires struct/union 操作符的左边变量必须是结构/联合 *ERROR 201:undefined struct/union tag 所给的结构/联合标记名是未知的 *ERROR 202:undefined identifier 所给的标示符未定义
*ERROR 203:bad storage class(nameref) 该错误表示编译器的内部有问题 *ERROR 204:undefined member 所给的结构/联合成员名未定义
*ERROR 205:cannot call an interrupt function
中断函数不能像普通函数那样调用,因为这种函数的头端和尾端是为中断特殊编码的 *ERROR 206:missing function-prototype 调用的函数缺少原型说明
*ERROR 207:declared with ‘void’ parameter list 用void参数说明的函数不接受调用者传来的参数 *ERROR 208:too many actual parameter 函数调用包含了多余的实参
*ERROR 209:too few actual parameter 函数调用时传递的实参过少
*ERROR 210:too many nested calls 超过了10 个函数嵌套调用的极限 *ERROR 211:call not to a function
函数调用时没有函数的地址或未对指向函数的指针赋值 *ERROR 212:indirect call with parameter
由于参数传递方法的限制,通过指针的间接函数调用不能直接作为实参。这种参数传递方法 要求被调用的函数名已知,因为参数的写入要被写入调用函数的数据段。然而间接调用时函 数的的名字时未知的
*ERROR 213:left side of assign_op not an lvalue 在赋值操作符左边要求可变的对象
*ERROR 214:cannot cast non_pointer to pointer 非指针不能转化为指针
*ERROR 215:cannot cast pointer to not_int/pointer 指针可以转化为另一个指针或整数,但不能转化为其他类型 *ERROR 216:subscript on non_array or too many dimensions 对非数组使用了下标或数组维数过多 *ERROR 217:non_integral index 数组的下标表达式必须是整型类型
*ERROR 218:void_type in controlling expression While,for 或do while语句中表达式不能是void类型 *ERROR 219:long constant truncated to int 企图把长整型常量截断为整型数是错误的 *ERROR 220:illegal constant expression 非法常量表达式
*ERROR 221:non_constant case/dim expression Case值或下标值([])要求用常量表达式 *ERROR 222:div by zero *ERROR 223:mod by zero 编译器检测到0 除或0 模的错误
*ERROR 224:illegal operation on float/double AND 和NOT一类的运算符不允许作用于float/double *ERROR 225:expression too complex ,simplify 表达式太复杂,必须简化
*ERROR 226:duplicate struct/union/enum tag 结构/联合/枚举类型中有重复标记 *ERROR 227:not a union tag
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库编程时Keil中常见的错误(2)在线全文阅读。
相关推荐: