【发布时间】:2020-04-22 21:04:47
【问题描述】:
我有两个字符,我想创建一个连接它们的字符串:
char a = '1';
char b = '2';
string s = "(" + a + "," + b + ")";
实现这一目标的最简单方法是什么? 由于第一个元素“(”是一个字符串,通过从左到右连接元素应该可以工作,因为每个字符都将被转换为字符串并附加。
但是编译器似乎不喜欢它。
error: invalid operands of types 'const char*' and 'const char [2]' to binary 'operator+'
我怎样才能做到这一点?
【问题讨论】:
-
见similar question。您会收到特定错误,因为在
"(" + a中,a被转换为int,并且 add 给出了一个指针。然后你尝试将","添加到它。 -
我喜欢这样的字符串流:
std::ostringstream strm; strm << "(" << a << "," << b << ")";