第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

C++c重載出錯

C++c重載出錯

梵蒂岡之花 2019-04-23 15:18:36
我寫了個Book的類一開始如下:classBook{public:Book(stringname,stringauthor,stringpub,stringisbn,intremain,intborrowed):_bookName(name),_bookAuthor(author),_bookPub(pub),_bookISBN(isbn),_bookRemain(remain),_bookBorrowed(borrowed){}//...中間省略}ofstream&operator
查看完整描述

2 回答

?
當年話下

TA貢獻1890條經驗 獲得超9個贊

是編譯器自動轉換在作怪。operator<<的第二個參數可以是string,你寫了一個constructor可以把string轉換成Book,同時Book也可以作為operator<<的第二個參數(即你寫的那個函數),所以編譯器不知道是直接調用string的那個版本,還是把string轉換成Book然后調用book的版本。建議把Book(stringisbn)改成explicitBook(stringisbn)關閉自動轉換
                            
查看完整回答
反對 回復 2019-04-23
?
慕運維8079593

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

這是單參數構造函數帶來的隱式轉換問題,詳細可以參考scottmayer的《MoreeffectiveC++》
有兩種函數允許編譯器進行這些的轉換:單參數構造函數(single-argumentconstructors)和隱式類型轉換運算符。解決方法是提供一個默認構造函數或者加上explicit關鍵字.
                            
查看完整回答
反對 回復 2019-04-23
  • 2 回答
  • 0 關注
  • 417 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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