У меня есть куча кода шаблона в отношении моих лямбдов. здесь является сыройПередача аргументов функции C++ в другую лямбда
На данный момент позволяет предположить, что MyClass выглядит следующим образом:
class myClass
{
public:
std::function<void(int,int)> event;
std::function<void(std::string)> otherEvent;
<many more std::function's with different types>
}
С его лямбдах присвоенных во время выполнения, как например:
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'' карте '? Каков его тип? – Arunmu
ах да плохой пример Я отредактирую. Я использую класс с определенными параметрами lambdas, такими как std :: function OnClick –
Avalon
Все еще не понятно. Что такое 'event'? Будет ли привязанная к событию лямбда всегда принимать 3 параметра, и меняется только внутренняя подпись функции? – Arunmu