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

关于Linux下C编译错误(警告)cast from 'void*' to 'int' loses precision

2014-11-29 14:37 405 查看
放上博主出错的代码:

char *ptr;  //此后省略部分代码  
if( (int)ptr==-1 )  //出错地方

那句话的意思是从 void* 到 int 的转换丢失精度,相信看到解释有些人就明白了,

此问题只会出现在X64位的Linux上,因为在64位的机器上指针占用8个字节,int 占用四个字节,所以才会出现这样的问题,

解决方法:

(long)ptr == -1 就好了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐