Возможно ли иметь что-то подобное в С++:
struct Foo
{
int x;
constexpr Foo(int x) : x(x) {}
static constexpr Foo table[] =
{
Foo(0),
Foo(1),
Foo(2),
};
};
Я попробовал несколько комбинаций, но никто не работает. Он работает, если таблица не входит в класс Foo, однако мне бы очень хотелось, чтобы она была частью пространства имен Foo.
Изменить:
Причина, по которой я хочу это, - это доступ к таблице как Foo::table
. У меня есть несколько классов, подобных этому в пространстве имен, и очень удобно, если я могу импортировать класс, который я использую, написав using someNamespace::Foo
, а затем получим таблицу как Foo::table
. Если таблица находится за пределами класса, я должен всегда обращаться к ней, написав someNamespace::fooTable
.