出现的问题:
在学习全局区时跟随视频操作查看全局变量与局部变量地址的区别时,使用int将地址进行强制类型转换时出现错误cast from 'const int*' to 'int' loses precision [-fpermissive]
错误代码:
cout<<(int)&e<<endl;
后经过研究和参考其他大佬的答案,我发现在我的vscode下int*所占内存为8个字节,而黑马视频中使用visua studio开发时int *占用4字节,所以我的代码出现错误。
解决方法:
将地址使用longlong类型转换即可解决问题。
例如:
cout<<(long long)&e<<endl;