我正在嘗試使用指向函數成員的指針,我不能'弄清楚這是如何工作的。指向函數成員的指針
我有A類,看起來像這樣
class A
{
public:
float Plus (float a, float b) { return a+b; }
float Minus (float a, float b) { return a-b; }
float Multiply(float a, float b) { return a*b; }
float Divide (float a, float b) { return a/b; }
};
我想一個指針申報A,然後一個函數指針傳遞給另一個函數A的成員之一
喜歡的東西是:
void Will_Get_Function_Pointer(float a, float b, float (A::*pt2Func)(float, float))
{
(...)
}
在那裏我會像這樣的東西
01叫它我不能在東西看起來像這樣
vector<A> vecA;
myA = &vecA[xxx]
這樣做可以使用靜態/ const的成員,因爲在我的最終執行情況的將指向特定的A A對象的集合在悲慘的失敗了
typedef float (A::*pA)(float x, float y);
pA p = &myA->Minus;
和編譯器告訴我使用& A ::負但不會爲我工作。
我可以這樣做嗎?
乾杯
@ForEverT謝謝!它非常棒! –