作者tyc5116 (累人啊....)
看板C_and_CPP
標題[問題] function point當作參數
時間Fri Aug 3 00:23:27 2012
請問
因為我的程式的某一片段長的像這樣
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
推 damody:compile 跟 undefined symbol 沒關係 一定會過 08/03 07:26
→ damody:那錯誤是你的連結器找不到 symbol 才是大問題 08/03 07:27
→ damody:你要學會分辨 編譯器 跟 連結器 or 資源編譯器 的錯 08/03 07:28
推 LPH66:先不說別的, 你這個函式指標參數寫得好怪... 08/03 07:36
→ LPH66:void __fastcall (*_closure)(TObject *) 這樣就行了吧? 08/03 07:37
→ LPH66:你寫這樣挺像是這指標指向一個回傳函式指標的函式... 08/03 07:38
推 FOXSMALL:陣列是從1開始處理? 08/03 15:50
→ damody:一臉bug code? 08/03 19:00