首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

问一个关于引用指针的有关问题

2012-02-19 
问一个关于引用指针的问题constintval1024constint*&ref&val//这个怎么会是错误的呢constint*const&re

问一个关于引用指针的问题
const   int   val   =1024;
const   int   *&ref   =   &val;   //这个怎么会是错误的呢
const   int   *const   &ref   =&val   //怎么要改成用这个才是正确的呢
const   int   *&   ref   =   (int*)val   //怎么用这个也正确的呢


我看的是c++   primer这本书,不明白怎么会变成这样写

[解决办法]
const int val =1024;//这里val是不可改变的
const int *&ref = &val; //这个怎么会是错误的呢//
上面引用内容不可改变,但指向的指针可以改变,就相当有把一个不可改变的常量地址赋给一个变量地址,c++是不允许这样操作的.
const int *const &ref =&val //怎么要改成用这个才是正确的呢
常量地址到常量地址,没问题
const int *& ref = (int*)val //怎么用这个也正确的呢
强制val为可以改变的int指针,所以也是可以的

[解决办法]
你再认真看看C++ Primer,它是不是说了非const引用不可以加在临时变量上。

热点排行