您的位置:首页 > 运维架构

ERROR:invalid operands to binary -

2010-03-26 18:04 393 查看
ERROR:invalid operands to binary - (二元减法运算的操作数无效。)
代码如下:
...
typedef PACKED struct
{
unsigned char chg_rule[MMIPT_MAX_CHG_RULE_LIST];
...
}MMIPT_CHG_RULE_T;

void Example(...)
{
...
char  *pchg_rule = NULL;
MMIPT_CHG_RULE_T *chgrule_info;
...
for(i = (unsigned short)(pchg_rule- chgrule_info->chg_rule);  i <  MMIPT_MAX_CHG_RULE_LIST; i++)
...
}
....


编译,提示错误"invalid operands to binary -"
二元减法运算的操作数无效。

检查后发现,pchg_rule为char *, chgrule_info->chg_rule为unsigned char[],不能直接进行减法运算。
修改如下:
i = (unsigned short)(pchg_rule-(char *)chgrule_info->chg_rule);
问题解决。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  list struct null
相关文章推荐