gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 03:39:35 24 4
gpt4 key购买 nike

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com