为什么我在第2行和第3行(见下文)中遇到编译器错误而不是第1行?
struct X {
static constexpr const char* f1 = "f1"; // ok
static const char* f2 = "f2"; // error
static const std::string f3 = "f3"; // error
};
答案 0 :(得分:0)
constexpr
,并在同一名称空间内的翻译单元中使用其他静态成员。
const std::string X::f3 = "f3";