pointer targets in passing argument n of xxx differ in signedness

GCC编译出现警告

test_hashtable.c:52: warning: pointer targets in passing argument 3 of ‘hash_table_insert’ differ in signedness
test_hashtable.c:61: warning: pointer targets in passing argument 2 of ‘hash_table_lookup_key’ differ in signedness
test_hashtable.c:77: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness

找到一个类似的问题

http://www.cnblogs.com/yuphone/archive/2010/11/26/1888286.html

它的与此很类似。"Clear" 默认为 const char * ,而要求传递的 u8* ——根据名称来推测u8 应该转义为unsigned char

即传递的应该为 unsigned char *类型的指针。虽然两者在内存上是等价的,但是"differ in signedness",所以报出警告信息。

解决办法是显示的强制类型转换。

还有种思路是显示的告诉编译器,忽略这种警告。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值