读书人

const int *amp;pa=amp;b为什么不合法?该如

发布时间: 2012-02-13 17:20:26 作者: rapoo

const int *&pa=&*b为什么不合法?
const int a=10;
const int *b=&a;
const int *&pa=&*b; //为什么这句不合法?
cout < <&*b < <endl; //为什么这句合法?

[解决办法]
&*b产生的是一个临时(无名)对象
const int *&pa,(非const)引用按C++标准不可以加在临时对象上。
所以,需要const int * const & pa = &*b;

读书人网 >C++

热点推荐