C++;方法调用中带有字符串文字的常量char* 如果我有一个C++函数,它使用字符串参数: void somefunc(const std::string &s) { std::cout << ": " << s << std::endl; }

C++;方法调用中带有字符串文字的常量char* 如果我有一个C++函数,它使用字符串参数: void somefunc(const std::string &s) { std::cout << ": " << s << std::endl; },c++,string,string-literals,C++,String,String Literals,我得到一个错误: error: invalid operands of types ‘const char*’ and ‘const char [5]’ to binary ‘operator+’ 如何使用s和其他字符串调用somefunc。运算符+不能添加指针(const char*) 您可以将任一操作数设置为std::string,以连接字符串 somefunc(std::string(s) + "test"); somefunc(s + std::string(&qu

我得到一个错误:

error: invalid operands of types ‘const char*’ and ‘const char [5]’ to binary ‘operator+’
如何使用
s
和其他字符串调用
somefunc

运算符+不能添加指针(
const char*

您可以将任一操作数设置为
std::string
,以连接字符串

somefunc(std::string(s) + "test");
somefunc(s + std::string("test"));
或使用

使用名称空间std::string\u文本;
一些乐趣(s+测试);
//          ^^^^^^^
somefunc(std::string(s) + "test");
somefunc(s + std::string("test"));
using namespace std::string_literals;
somefun(s + "test"s);
//          ^^^^^^^  <- std::string, not const char[5]