我想在我的类中有一个静态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
}