我有一个函数,它需要两个std::functions作为参数.第二个函数的参数与第一个函数的结果具有相同的类型.
我写了一个这样的函数模板:
template<typename ResultType>
void examplFunction(std::function<ResultType()> func, std::function<void(ResultType)> func2) {
auto x = func();
func2(x);
}
Run Code Online (Sandbox Code Playgroud)
我可以用它来调用它:
void f() {
examplFunction<int>([]() { return 1; }, //
[](int v) { std::cout << "result is " << v << std::endl; });
}
Run Code Online (Sandbox Code Playgroud)
有没有办法摆脱<int>at examplFunction<int>并让编译器推断出类型ResultType?