Объявите переменные-члены из параметра шаблона variadic

Очевидно, что приведенный ниже код не компилируется в C ++. Но у меня есть случай, когда я хотел бы параметризовать класс с нуля или более элементов данных на основе параметров шаблона.

Можно ли как-нибудь объявить класс, члены данных которого зависят от параметров шаблона переменной, чтобы я мог получить доступ к каждому из них? или каким-то другим способом добиться того, что я хотел бы?

Это возникло в реальной программе, которую я решил совершенно по-другому, но теперь меня интересует более абстрактная проблема того, как я мог это сделать.

template <typename... Types> class Data
{
    // Declare a variable of each type in the parameter pack
    // This is NOT valid C++ and won't compile...
    Types... items;
};

struct Item1
{
    int a;
};

struct Item2
{
    float x, y, z;
};

struct Item3
{
    std::string name;
}

int main()
{
    Data<Item1, Item2> data1;
    Data<Item3> data2;
}

Ответы на вопрос(4)

Ваш ответ на вопрос