标签: c++
我正在尝试使用
std::function<void()>
作为输入。不幸的是我之前从未使用过这种数据类型,而且我在理解它时遇到了问题。我需要做的就是在调用它时执行一个方法,例如:
std::function<void()> doThing = object.isMethod();
虽然这种语法显然不正确。有人可以向我解释一下吗?
答案 0 :(得分:24)
你可以bind方法的对象
std::function<void()> doThing = std::bind(&type::isMethod, &object);
或使用lambda
std::function<void()> doThing = [&]{object.isMethod();};