int a = 10; int *p = &a; const int *&q = p;//报错如标题所示 那么为什么下面做法可以。 int i = 10; const int &ci = 10; 都是从非常量转换常量。
int *const mp //表示指针的值不能变
int const *mp //表示指针指向的值不能变
int const *const mp //表示指针和指针指向的值都不能变
而
const int m = 0;//指针指向的值不能变
所以&m只能赋给第二种或第三种,如果有帮助请点一下我回答右上方的采纳,谢谢!以后有什么问题可以互相交流。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
并没有报错
报错是因为 无法从“int *”转换为“const int *&”,望采纳,不懂的可以关注私信我。