我试图将成员函数作为参数传递给模板函数。我已经阅读了Stackoverflow中有关将成员函数作为参数传递给其他函数的所有线程。但是,不知何故,我不明白这个简单的东西的工作:将成员函数作为回调函数传递给模板函数
template <typename T>
T Class::registerCallback(std::function<T()> callback) {
// do something
}
bool Class::member() {
return true;
}
void Class::method() {
registerCallback(std::bind(&Class::member, this, std::placeholders::_1));
}
我收到的错误消息是:
no matching member function for call to 'registerCallback'
我试图解决这个问题很长一段时间。如果有人能指出我出了什么问题,我将非常感激。
是'Class'模板或者它只是有一个模板成员函数? – 2015-04-01 05:45:02
只是一个模板成员函数。 – einstein 2015-04-01 05:47:15
@JamesAdkison我解决了它只是提供了类型registerCallback(std :: bind(&Class :: member,this,std :: placeholders :: _ 1)); –
einstein
2015-04-01 05:52:45