xugesen1989 2015-10-04 19:10 采纳率: 83.3%
浏览 2747
已采纳

const int a=10; int *p =(int *)(&a);

#include
using namespace std ;
int main ()
{
const int a=10;
int *p =(int *)(&a);//运行正常
为什么 int *p = &a 报错
cannot convert from 'const int *' to 'int *'

  • 写回答

3条回答 默认 最新

  • threenewbee 2015-10-04 19:42
    关注

    因为是const int *,传给int *必须类型转换。之所以有这样的规定是为了防止程序员忘记这是const的,造成错误。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部