C++中
[Error] cast from ‘int*‘ to ‘int‘ loses precision [-fpermissive]
如何解决?
如图
怎么引起的?
想得到十进制的数组地址,而一般的数组地址都是十六进制的,于是想用int强转型成十进制的,结果报错。
原因?
int类型占用4个字节,若改成long,win里是4个字节32位,所以long不够,而64位系统指针为8字节,得用long long,long long是8个字节64位。
解决:
将int改为long long即可
解决后效果: