2013-12-10 77 views
0

假設我有一個C++類A,與靜態部件B實現C++函數指針與函數參數

class A{ 
    static bool B(int *); 
}; 

現在假設我要創建的方法B.它是如何可能實現函數指針?

我能做到這一點不帶任何參數,如:

bool (*p) (); 
p=& A::B() ; 

但我的代碼,我必須通過參數。怎麼做?

+0

有你的函數指針的任何資源左顧右盼? – chris

+1

@chris老實說,他看起來如此嗎? – 2013-12-10 20:08:52

+0

'bool(* p)(); p =&A :: B();'?你似乎說它有效!?告訴我們是什麼問題。 'bool(* p)(); p = & A::B;'可能會更好。 –

回答

4

你錯過了在P的聲明中的參數

bool (*p) (int*); // define p, note: p is a function with a 1 int* parameter 
p=&A::B; // take the address of the B - no brackets here, since it is not a function call 
int ii = 1; 
bool b = p(&ii); // call B with a parameter