c – 连接字符串不能按预期工作[closed]

我知道这是一个常见的问题,但寻找参考和其他材料我没有找到一个明确的答案这个问题。

考虑下面的代码:

#include <string>

// ...
// in a method
std::string a = "Hello ";
std::string b = "World";
std::string c = a + b;

编译器告诉我它不能为char [dim]找到重载的运算符。

是否意味着在字符串中没有运算符?

但在几个例子中有这样的情况。如果这不是正确的方式来串联更多的字符串,什么是最好的方法?

你的代码,写的,工作。你可能试图实现一些不相干,但类似:

std::string c = "hello" + "world";

这不工作,因为对于C这似乎是你试图添加两个字符指针。相反,你需要将至少一个char *文字转换为std :: string。你可以做你已经发布的问题(正如我所说,这段代码将工作)或你做以下:

std::string c = std::string("hello") + "world";
http://stackoverflow.com/questions/4304662/concatenating-strings-doesnt-work-as-expected

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c – 连接字符串不能按预期工作[closed]