0
我有一堆關於我的lambdas的樣板代碼。這裏是一個原油C++將函數參數傳遞給另一個lambda
眼下讓我們假設myClass的是這樣的:
class myClass
{
public:
std::function<void(int,int)> event;
std::function<void(std::string)> otherEvent;
<many more std::function's with different types>
}
憑藉其lambda表達式本身運行過程中分配:
myClass->event =[](T something,T something2,T something3)
{
yetAnotherFunction(something,something,something3);
//do something else.
}
如何我希望它看起來像:
void attachFunction(T& source, T yetAnotherFunction)
{
source = [](...)
{
yetAnotherFunction(...);
//do something else.
}
}
這樣我可以這樣打電話:
attachFunction(myClass->event,[](int a,int b){});
和
attachFunction(myClass->otherEvent,[](std::string something){});
我只是想沿着參數傳遞,並確保它們匹配。
如何將其包含到一個函數中,假設我將有一個未定義數目的參數和不同類型?
謝謝!
'eventList'是一個'map'嗎?它的類型是什麼? – Arunmu
啊是壞的例子我會編輯。我正在使用運行時定義的lambdas類,如std :: function OnClick –
Avalon
仍然不清楚。什麼是'事件'?連接到事件的lambda是否總是帶3個參數,只有內部函數簽名發生變化? – Arunmu