我用Dev-C++写了以下代码:
#include<bits/stdc++.h>
using namespace std;
vector<int>code;
struct point{
int l,r;
};
vector<point>chaozuo;
string decode(vector<int>code,vector<point>cz){
string ret;
for(int i=1;i<=(int)cz.size();i++){
int l=cz[i].l,r=cz[i].r;
string t;
t.resize(r-l+1);
t[0]=0;
for(int j=l;j<r;j++){
t[j]=t[j-1]+code[j];
}
for(int i=1;i<=r-l+1;i++) ret+=t[i];
}
return ret;
}
int main(){
int n,m;
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++){
int t;
scanf("%d",&t);
code.push_back(t);
}
for(int i=1;i<=m;i++){
int l,r;
scanf("%d%d",&l,&r);
chaozuo.push_back({l,r});
}
cout<<decode(code,chaozuo);
return 0;
}
输入:
2 1
60 5
0 1
输出:
terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_M_replace_aux
return 3;
很明显是thow函数在报错,但它在报什么?