我有一個字符串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我知道,但我的完整示例也失敗了,這有點讓人放心! –