您的位置:首页 > Web前端

pointer targets in passing argument n of xxx differ in signedness

2012-11-29 15:35 621 查看
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",所以报出警告信息。

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

还有种思路是显示的告诉编译器,忽略这种警告。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐