看板 Programming 關於我們 聯絡資訊
※ 引述《sorryChen (陳揚和)》之銘言: : 也許也有人用過function pointer.. : 比如說寫一個sort 希望能sort 各種型態的資料 : 然後把Comparison 的function用function pointer的方式傳進去 : 我的問題是,如果我的comparison function其實是某個class 的member function : (需要用到這個class的變數的值才能判定 : 比如說要排序的是每個人的財產 財產這個class中有美金 台幣..等 : 這個物件定義了一個函數,比較總身價,其中計算身價=美金*匯率(物件變數) +台幣 : 這時候要call 寫好的sort 要把比較的這個函數pointer傳進去 : 這有可能嗎..pointer傳進去的時候..還需要用到this->匯率.. : 不知道有沒有大師想做過相似的事情 通常分開兩樣東西傳: 一個 function pointer, 一個 pointer to target object 大部份的 API 做的都是讓你傳 non-member function, 加 pointer to obj. 然後你自己寫一個 static method 傳為 callback, 在 static method 中做 objPtr->myFunc(); 你也可以看看 pointer to member function 怎麼做. 不肯定合不合你的 用途 http://www.goingware.com/tips/member-pointers.html Alien -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.155.236.82
sorryChen:感謝大師回答(目前還沒試出來) 128.125.87.33 04/18 13:19