"); //-->
warning: cast from ‘void*’ to ‘int’ loses precision [-fpermissive] 错误分析
这种错误一般产生在linux 64位机上
因为linux64 上的int为 4个字节
指针为 8个字节
int num = 100;
//此时不会产生错误,但会产生警告,因为4字节的转换为8字节
void* p = (void*) num;
//此时就会产生错误,因为8字节的指针被强转为4字节的int,数据丢失了
num = (int)p;
//解决办法,把int 改为long
long num = 100;
void* p = (void*) num;
num = (long)p;
————————————————
解决error: cast from ‘int*’ to ‘int’ loses precision [-fpermissive]
版权声明:本文为CSDN博主「虚渊玄」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_17019203/article/details/100038848
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。