看板 C_and_CPP 關於我們 聯絡資訊
請問 因為我的程式的某一片段長的像這樣 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