看板 EE_DSnP 關於我們 聯絡資訊
想請問我有一個err passing `const Compare' as `this' argument of `virtual bool Compare::operator1(int, int)' discards qualifiers 看不懂問題是什麼意思? operator宣告在Compare裡 class Compare{ ... virtual bool operator1(int, int)=0; ... } 錯誤指的位置是在 void selectionSort( vector<int>& array, const Compare& compare) { .... ...... ==> if (!compare.operator(array[pivot], array[j])) pivot = j; ........ } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.235
lovelylion2:operator overloading不是這樣用的.. 03/17 18:54
ric2k1:你那樣寫 "operator1" 會變成一個 member function 的名字 03/17 21:32
ric2k1:注意, 是 virtual bool operator() (int, int) = 0; 03/17 21:33
ptt6161180:我寫的應該是正確的operator overloading但也有這訊息 03/19 21:57
ptt6161180:那個訊息是什麼意思??y 03/19 21:57
ptt6161180:把const加上去就過了...const是一種type嗎?? 03/19 22:07
ric2k1:一個 function 有 const 跟沒有 const 是不一樣, 03/19 22:10
ric2k1:這個明天一開始就會講到! 03/19 22:10