[問題] 利用overloding計算兩個日期相差幾天

看板C_and_CPP作者 (安安你好)時間9年前 (2015/05/01 04:46), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) GCC 問題(Question): In function 'const int operator-(const myDate&, const myDate&)': 101-21 [Error] passing 'const myDate' as 'this' argument of 'int myDate::dayOfYear()' discards qualifiers [-fpermissive] 102-21 [Error] passing 'const myDate' as 'this' argument of 'int myDate::dayOfYear()' discards qualifiers [-fpermissive] 程式碼(Code):(請善用置底文網頁, 記得排版) http://ideone.com/BNMlxw 補充說明(Supplement): 我用operator overloding 要算出兩個日期相差幾天 目前的問題就是不知道哪裡出錯一直編譯不過 我有找到如果把friend const int operator -(const myDate& day1 , const myDate& day2) 其中括號裡的兩個const拿掉就會過 但一直想不通為啥。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.25.118.199 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1430426769.A.301.html

05/01 05:18, , 1F
int dayOfYear() const; bool isLeap(int year) const;
05/01 05:18, 1F

05/01 05:25, , 2F
否則強制轉型(不建議): x = ((myDate)day1). ... y = ...
05/01 05:25, 2F
文章代碼(AID): #1LGfIHC1 (C_and_CPP)