【发布时间】:2014-12-16 21:55:23
【问题描述】:
class A
{
public:
A();
void Func1(int,int);
void Func2(long,long);
private:
...
};
<implementation here>
主要:
std::vector<std::function<void(void)>> fl;
A a;
fl.push_back(std::bind(&a.Func1, 1,1));
给出错误: ISO C++ 禁止使用绑定成员函数的地址来形成指向成员函数的指针
解决方案?
编辑:更改“A a();”到“A a;”。这里没有构造函数:P
编辑: 选择Praetorian的回复作为答案,因为它解决了问题。 Dietmar Kühl's 也是一个很好的解决方案,但不是问题的实际答案。 必须公平:D
【问题讨论】: