Как правильно получить доступ к строке "пока" из структуры?
#include <iostream>
static constexpr char hi[] = "hi";
struct S{ static constexpr char bye[] = "bye"; };
int main(int argc, char *argv[]) {
typedef struct S ST;
std::cout << hi << std::endl; // this prints "hi"
std::cout << sizeof(ST::bye) << std::endl; // this correctly prints 4
std::cout << ST::bye << std::endl; // this does not compile with "undefined reference"
}
Я работаю с фреймворком c ++, который имеет некоторую конфигурацию в этом формате (даже в структурах с множественными вложениями), чтобы сделать его значения доступными во время компиляции. Я недостаточно глубоко разбираюсь в C ++, чтобы вспомнить основную проблему здесь. Также я не могу спорить о том, почему был выбран этот подход к реализации конфигурации, и не могу его изменить.