国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

非常量引用的初始值必須是左值

2019-11-08 01:49:38
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

問(wèn)題

void increment(double& x){ x+=1.0;}int n=5;increment(n);

上述代碼錯(cuò)誤“非常量引用的初始值必須是左值”

因?yàn)?int 和double 類(lèi)型不一致,首先會(huì)執(zhí)行隱式類(lèi)型轉(zhuǎn)換,產(chǎn)生一個(gè)臨時(shí)變量。

const double tmp=(double)n

這樣傳給函數(shù)的就是一個(gè)常量。用一個(gè)常量(右值)對(duì)非常量類(lèi)型引用賦值,會(huì)出錯(cuò)。

修改1

void increment(double& x){ x+=1.0;}double n=5;//改為double型increment(n);

修改2

void increment(double const & x){ //x不能修改}int n=5;increment(n);

事實(shí)上編譯器拒絕對(duì)非常量引用執(zhí)行隱式轉(zhuǎn)換(因?yàn)殡[式轉(zhuǎn)換的中間臨時(shí)變量是一個(gè)常量,編譯時(shí)無(wú)法通過(guò))

:引用初始化后,不可以修改。指的不是不能修改它引用的變量的值,而是不能讓它在引用其他變量。

int a=0;int b=1;int &c=a;&c=b;//錯(cuò)誤
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁津县| 平谷区| 泾川县| 济阳县| 和静县| 九龙县| 望奎县| 化州市| 始兴县| 安义县| 峨山| 美姑县| 嘉定区| 措美县| 泌阳县| 梓潼县| 黄山市| 武功县| 盘山县| 荆州市| 砀山县| 友谊县| 炎陵县| 吉首市| 荔浦县| 邵阳市| 潞城市| 页游| 米林县| 盖州市| 措勤县| 昆山市| 甘德县| 曲靖市| 临漳县| 黄浦区| 宁河县| 扎囊县| 修水县| 陇南市| 太谷县|