stringリテラルと秒リテラルは競合しない
リテラルに渡される型が文字列と数値で異なっているので、"hello"sと3sは競合しません。
#include <string> #include <chrono> std::string operator"" s(const char* str, size_t len) { return std::string(str, len); } constexpr std::chrono::seconds operator"" s(unsigned long long n) { return std::chrono::seconds(n); } int main() { std::string a = "hello"s; // OK std::chrono::seconds b = 3s; // OK }