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

const int *&pa=&b为什么不合法?该如何处理

2012-02-13 
const int *&pa&*b为什么不合法?constinta10constint*b&aconstint*&pa&*b//为什么这句不合法?cout

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;

热点排行