我使用的是通用 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/