gpt4 book ai didi

c++ - 确定可变参数 C++11 模板化 lambda 函数的返回类型

转载 作者:太空宇宙 更新时间:2023-11-04 16:22:36 24 4
gpt4 key购买 nike

我有以下功能;

template<typename T, typename U, typename... Parameters>
void transform(void (*func)(Parameters...))
{
auto lambda_function = [func](T args, U params)
{
auto combined = std::tuple_cat(args, params);
helper(func, combined);
};
return lambda_function;
}

我似乎找不到可行的返回类型或调用方式,我希望能够这样调用它;

auto func = transform<std::tuple<char,int>, std::tuple<const char*>>(f);
func(arg, param);

给定 'f'、'arg' 和 'param' 作为;

void f(char arg1, int arg2, const char* arg3);
std::tuple<char,int> arg = std::tuple<char,int>('C',-3);
std::tuple<const char*> param = std::tuple<const char*>("PO");

有人得到提示,甚至是解决方案吗?

注意:代码可以在以下位置找到; Linkage

最佳答案

您可以返回 std::function,或创建命名函数对象类型。

关于c++ - 确定可变参数 C++11 模板化 lambda 函数的返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15246843/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com