Chinaunix首页 | 论坛 | 博客
  • 博客访问: 119360
  • 博文数量: 39
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 375
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-15 22:27
文章分类
文章存档

2018年(2)

2017年(37)

我的朋友

分类: C/C++

2017-09-07 12:00:13

[cpp] view plain copy
  1. char *ptr;  //此后省略部分代码    
  2. if( (int)ptr==-1 )  //出错地方  


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

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

解决方法:

(long)ptr == -1 就好了

阅读(1633) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~