cppreferenceによると、を使用してリテラルを定義することが可能です
CSomeClass operator ""s(const char* literal, size_t size);
段落を読んだ後、定義することも可能であるべきだと思います
CSomeClass operator ""r(const char* literal, size_t size);
r
( の代わりに ud-suffix に注意してくださいs
)
過負荷s
はclang警告を出すだけです
warning: user-defined literal suffixes not starting with '_' are reserved [-Wuser-defined-literals]
でコンパイルしているので、これは本当に理解できません-std=c++14
。過負荷r
は
error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
warning: user-defined literal suffixes not starting with '_' are reserved; no literal will invoke this operator [-Wuser-defined-literals]
それは私にはさらに説明責任がないようです。
clang がこれらの警告/エラーを出力する理由と、r
ud-suffix を有効にする方法を教えてください。