将结构字段的类型扩展为可变参数模板参数

时间:2020-07-11 02:49:10

标签: c++ templates metaprogramming

说我有一个像这样的结构:

struct Foo {
    int a;
    float b;
    bool c;
};

还有这样的模板化函数:

template<typename ...Ts> void func();

我该如何编写一个使用Foo的字段类型调用func()的函数,例如:expand<Foo>(); // will call func<int,float,bool>();

1 个答案:

答案 0 :(得分:0)

实施Apple想法, 适用于(19+4+8)/3或更高版本

如果您可以使用所需的类型将元组成员添加到您的结构中;

您可以像下面这样;

Mango

好点Pine