gcc编译出现 invalid operands to binary -的解决方法

来源:互联网 发布:社会融资规模月度数据 编辑:程序博客网 时间:2024/05/21 09:45

在做pcap库抓包的程序中,使用了: pcap_head->caplen - (unsigned int)(/*(unsigned char *)*/data - packet); 算式,然后就报“ invalid operands to binary -”。

检查代码,其中packet为char *型,pcap_loop的回调函数的第三个参数,data为根据各层字节计算出的TCP首部位置;但是packet为无符号字符指针,data为有符号的‘去掉代码中的屏蔽的(unsigned char *),错误消失。

看来gcc对数学运算中的类型检查还是比较严谨的。

原创粉丝点击