c++ - 如何仅传递绑定(bind)函数的第二个参数?

标签 c++ bind eventemitter handlers

我使用的是通用 EventEmitter实例:

EventEmitter mEventHandler;

所以我定义了这个绑定(bind):

function<void(int, double)> onSetMin = bind(&ILFO::SetMin, this, placeholders::_2);
mEventHandler.on(kParamID, onSetMin);

on例如:

mEventHandler.emit(paramID, someInt, someDouble);

如上所述,它是“通用”的,并设置 2 个参数。但我的特定函数 SetMin 只需要一个参数(在本例中为 someDouble):

void ILFO::SetMin(double min);

如何从绑定(bind)传递第二个参数?

最佳答案

我认为使用 lambda 更容易解决您的问题:

function<void(int, double)> onSetMin = [this](int dummy, double d) { SetMin(d); };
mEventHandler.on(kParamID, onSetMin);

关于c++ - 如何仅传递绑定(bind)函数的第二个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38738875/

相关文章:

c++ - 从文件中读取数字 C++

node.js - 删除所有事件发射器监听器(最新的除外)

javascript - 模块之间共享的事件发射器

c++ - 私有(private)子句中的变量与 OpenMP 中并行区域中定义的变量之间有什么区别吗?

c++ - 我如何从文件 C++ 中读取并输出它

c++ - CComModule 取消注册服务器错误?

python - 带参数的 Kivy 按钮绑定(bind)函数

c++ - <functional>中有功能组合的东西吗?

linux - 如何将所有区域移动到新的绑定(bind) DNS 服务器

javascript - 向事件发射器添加数据