Хочется сделать контейнер, что-то вроде такого:
template <int n>
struct foo {
float v[n];
};
struct foo_holder : std::variant<foo<1>, foo<2>> {
struct {/* some stuff */} info;
foo_holder (int nd) {
if (nd==1) /* foo<1> */;
if (nd==2) /* foo<2> */;
}
};