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