我有一个类似下面的typedef:
typedef std::function<int arg1, float arg2> MyFunction;
我的代码中有这样一段:
MyFunction func = [](int arg1, float arg2){ /* do someting */ };
问题在于,每当我更改函数的参数数量(例如我添加第三个参数char arg3)- 我就不得不在我使用MyFunction的代码中到处更新它(即使这些参数根本没有被使用)。
而我太懒了,不想这样做。有没有办法从std :: function的类型中获取参数列表??(我的意思是)这样函数创建看起来像这样:
MyFunction func = [](MyFunction::args){ /* do someting */ };
auto
吗? - NathanOliverstd::function
的模板参数包括返回类型。std::function<ReturnType(Arg1, Arg2)>
。 - alfC