【发布时间】:2021-11-24 21:58:29
【问题描述】:
怎么实现这样的操作,Visual Studio老是说错了。
错误代码是C2110 和E2140。
有人可以帮忙吗?
std::string a = "2323" + "22323" + "232332";
【问题讨论】:
-
试试
std::string("2323") + "22323" -
std::string a = "2323" "22323" "232332";。仅由空格分隔的字符串文字被连接起来。 -
string a="2323" "22323" "232332";应该可以工作 -
为了详细说明“问题”,
+运算符仅针对std::string定义,但是"2323"(没有任何前缀)不是std::string,它是@ 987654331@。因此,您需要将第一个参数显式声明为std::string以使+ (const char *)可用。 -
@RefugnicEternium — 没有任何前缀的
”2323”不是const char*。它是一个由 5 个const char组成的数组。
标签: c++ algorithm string-concatenation stdstring string-literals