亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

c++運算符+號重載

c++運算符+號重載

C++
慕尼黑5688855 2018-08-16 10:09:24
/*/*float Circle::operator + (Circle &circle2) const {return(PI * circle2.radius *circle2.radius + PI * radius * radius);}*/用這種方式float area;//area = circle1 + circle2;可以返回float的area而現在沒被注釋掉的部分用friend Circle operator+(const Circle& circle1,const Circle& circle2);編譯出現錯誤,嚴重性 代碼 說明 項目 文件 行 禁止顯示狀態錯誤 C2440 “=”: 無法從“Circle”轉換為“float” Project7 該如何更改
查看完整描述

1 回答

?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

很明顯你這個友元函數的返回實際值類型和聲明的返回值類型不搭配,而且無法完成隱式轉換,所以才會報錯。

看你意圖你想怎么用法:

如果想得到數值類型,那么返回值類型改成float沒毛病,就是樓上的解決辦法;

如果你想得到是Circle類,那么你要把返回語句修改一下,可以修改成如下

https://img1.sycdn.imooc.com//5b8f97310001483007390235.jpg

查看完整回答
反對 回復 2018-09-05
  • 1 回答
  • 0 關注
  • 676 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號