[問題] function point當作參數

看板C_and_CPP (C/C++)作者 (累人啊....)時間13年前 (2012/08/03 00:23), 編輯推噓3(305)
留言8則, 3人參與, 最新討論串1/2 (看更多)
請問 因為我的程式的某一片段長的像這樣 for(int j=1; j<dfLineLimit+1; j++) { _Data.m_No[j] = new TPanel(this); _Data.m_No[j]->Parent = m_scbCutData; ...(略) _Data.m_No[j]->OnClick = fNOClick; } 有一連串的程式碼都類似這樣,所以我想用個function將他包起來 fNOClick長這樣,void __fastcall fNOClick(TObject *Sender); 而我弄了一個function,想把這一連串的code包起來,所以長這樣 void SetData(TPanel* Object,TScrollBox* vParent,TPanel* FollowColumn, int RowNo,String vCaption,int Tag,bool Visible, void (_fastcall * (_closure )(TObject *))(TObject *)); 最後一個參數是為了傳入OnClick所連結的是哪一個function 但是錯誤訊息如下 Undefined symbol 'TPanel' 暫時先移除最後一個參數後,compile是OK的,所以我想也許是誤判 但不知我這樣的宣告,語法是哪裡有錯誤呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.252.61.134

08/03 07:26, , 1F
compile 跟 undefined symbol 沒關係 一定會過
08/03 07:26, 1F

08/03 07:27, , 2F
那錯誤是你的連結器找不到 symbol 才是大問題
08/03 07:27, 2F

08/03 07:28, , 3F
你要學會分辨 編譯器 跟 連結器 or 資源編譯器 的錯
08/03 07:28, 3F

08/03 07:36, , 4F
先不說別的, 你這個函式指標參數寫得好怪...
08/03 07:36, 4F

08/03 07:37, , 5F
void __fastcall (*_closure)(TObject *) 這樣就行了吧?
08/03 07:37, 5F

08/03 07:38, , 6F
你寫這樣挺像是這指標指向一個回傳函式指標的函式...
08/03 07:38, 6F

08/03 15:50, , 7F
陣列是從1開始處理?
08/03 15:50, 7F

08/03 19:00, , 8F
一臉bug code?
08/03 19:00, 8F
文章代碼(AID): #1G6gc2mh (C_and_CPP)
文章代碼(AID): #1G6gc2mh (C_and_CPP)