const int *&pa=&b为什么不合法?该如何处理
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;
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;