KMP算法中调用这个getnexval为什么会报错
void Getnextval(string & s,int *nextval)
{
int i=1;
nextval[1]=0;
int j=0;
int len=s.size();
while(i<len){
if(j==0||s.at(i)==s.at(j)){
++i;++j;
if (s.at(i)!=s.at(j)) nextval[i]=j;
else nextval[i]=nextval[j];
}
else j=nextval[j];
}
}
{
int i=1;
nextval[1]=0;
int j=0;
int len=s.size();
while(i<len){
if(j==0||s.at(i)==s.at(j)){
++i;++j;
if (s.at(i)!=s.at(j)) nextval[i]=j;
else nextval[i]=nextval[j];
}
else j=nextval[j];
}
}