Basically I have a variadic template function like so:
template<typename... Args>
void foo(std::string message, Args... args) {
    //Some nice code
}
I now wanted to have a struct, which stores the values, which I use later to call this function. I tried it like this:
template<typename... Args>
struct Foo {
    std::string message;
    Args args;
    Foo(std::string message, Args... args): message(message), args(args) {}
}
int main(int arg, char ** argv) {
    Foo arguments("Hello, World!", 5, "LOL");
    foo(arguments.message, arguments.args);
    return 0;
}
But unfortunately this doesn't work. Is this somehow doable?
 
    