8

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 がこれらの警告/エラーを出力する理由と、rud-suffix を有効にする方法を教えてください。

4

1 に答える 1