==>查看coliru上的完整代码段和编译.
我有一个LiteralType类填充constexpr要求:
struct MyString
{
constexpr MyString(char const* p, int s) : ptr(p), sz(s) {}
constexpr char const* data() const { return ptr; }
constexpr int size() const { return sz; }
char const *ptr = 0;
int const sz = 0;
};
Run Code Online (Sandbox Code Playgroud)
我用它作为constexpr static成员变量:
struct Foo
{
int size() { return str_.size(); }
constexpr static MyString str_{"ABC",3};
};
int main()
{
Foo foo;
return ! foo.size();
}
Run Code Online (Sandbox Code Playgroud)
但链接器说:(
Clang-3.5和GCC-4.9)
undefined …Run Code Online (Sandbox Code Playgroud)