0
我有一個Foo類。在構造函數中傳遞和存儲靜態函數指針
class Foo
{
public:
int(_bar)(const int);
Foo(int(bar)(const int))
{
_bar = bar;
}
};
我想傳遞一個指向創建靜態函數的指針,並將其保留在類中,以便稍後調用它。
我得到的錯誤...
error C2659: '=' : function as left operand
...但我不明白爲什麼。
任何人都可以請指教?
謝謝。但爲什麼這不需要param? – Beakie 2014-10-06 12:47:03
如果你想把一個函數指針作爲一個參數,就需要這個錯誤,這個錯誤恰好發生在成員上,因爲你試圖分配給它,你可以用一個函數指針來做,但不能用函數來做(如果甚至是有道理的)。 – Drax 2014-10-06 12:48:19
因此,如果我要像這樣傳遞方法,Foo(int(bar)(const int))作爲構造函數定義無效:Foo(&someStaticFunc); – Beakie 2014-10-06 12:50:12