我想写一个你这样调用的函数:
f("a", 1, [](float a ) { … });
f("a", 1, "b", 2, [](float a, float b ) { … });
f("a", 1, "b", 2, "c", 3, [](float a, float b, float c) { … });
该函数的作用无关紧要。关键是每对 char*/integer 参数f
对应于 lambda 函数的一个浮点参数。我到此为止:
template <typename ...Args>
void f(Args... args, std::function<void(???)> cb);
如何声明函子类型,使其参数的基数与输入对的基数匹配?