我尝试实现以下功能
std::string operator+(std::string s, int t);
但是如果我尝试
就不会被调用std::string s = "abc" + 123;
虽然如果我打电话
就会被调用operator+("abc", 123);
我有什么遗失的吗?
答案 0 :(得分:3)
" ABC"不是std::string
,而是const char[]
。你可以尝试:
std::string s = std::string("abc") + 123;
或者,如果您使用的是C ++ 14,
using namespace std::string_literals;
std::string s = "abc"s + 123;