我有一个字符串b,我想将其反转,然后将结果附加到字符串a中。我试过,但它给了我一个运行时错误string :: insert产生运行时错误
a.insert(a.end(), b.rbegin(), b.rend())
这是
terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_M_create
什么是与我行代码的问题?
更新:这里是抛出同样的异常很短的程序:
#include <iostream>
#include <string>
using namespace std;
int main (int argc, const char* argv[]) {
string result="bbb";
string tail="aaa";
result.insert(result.end(), tail.rend(), tail.rbegin());
cout << result << endl;
return 0;
}
我使用GCC 5.4.0在Ubuntu 16.0.4
你可以使用更多一点的代码。 A [mcve],也许? – NathanOliver
[它应该工作](http://coliru.stacked-crooked.com/a/850c06f746a0efdd) – Borgleader
@Borgleader我知道,但我的完整示例也失败了,这有点让人放心! –