我有一段代码:
char temp = word[0];
word.erase(0, 1);
word.append(temp); //word.push_back(temp); is fine
我收到一个错误:错误:没有匹配的成员函数来调用“追加”
我的问题是为什么我不能在这里使用 append() ?提前致谢!
我将假设这word
是一个std::string
.
如果您查看 的文档std::basic_string::append()
,您会发现它有一堆重载,但它们都是针对字符串或重复字符的。根本没有任何接受单个字符的重载。
这里的所有都是它的。
push_back()
追加单个字符,append()
追加字符串。在您的示例中,temp
是单个字符,因此您正在查询的两个功能中只有push_back()
一个可用。
或者,std::string
提供operator+=()
,这两种情况都适用。所以你也可以这样做:
word += temp;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句