看板 C_and_CPP 關於我們 聯絡資訊
感謝 firejox, legnaleurc, loveme00835 版友的幫忙 根據大家提供的關鍵字 我在網路上找到這份資料解決了我的問題 http://0rz.tw/hsD8F 簡單說就是用 functor 來取代 function (我也不太懂 第一次接觸這個東西) 還是不太知道為什麼 member function 必須是 static 而用 functor 卻不用 至於怎麼像 legnaleurc 版友說的 bind 一個 instance 可以麻煩再給多一點說明嗎 謝謝 用在我的例子 code 如下 class SA { .... struct doCompare { const SA& mySA; doCompare(const SA& sa) : mySA(sa) {} bool operator() (const int &i, const int &j){ return mySA.Gij[mySA.tempCompareStandard][i] > mySA.Gij[mySA.tempCompareStandard][j]; } }; ..... }; void SA::SomeFunction() { ..... for(int i=0;i<size;i++) { for(int j=0;j<size;j++) gainListSorted[i][j] = j; tempCompareStandard = i; sort(gainListSorted[i], gainListSorted[i]+size, doCompare(*this)); } ..... } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.36.233.240
poyenc:我的作法 http://codepad.org/rgrpwTyt 10/25 03:12