Неопределенная ссылка to static constexpr char []

Я хочу иметь в своем классе массив static const char . GCC пожаловался и сказал мне, что я должен использовать constexpr , хотя теперь он сообщает мне, что это неопределенная ссылка. Если я сделаю массив нечленом, он компилируется. Что происходит?

// .hpp
struct foo {
  void bar();
  static constexpr char baz[] = "quz";
};

// .cpp
void foo::bar() {
  std::string str(baz); // undefined reference to baz
}
168
задан Pubby 18 April 2016 в 18:02
поделиться