new 一个数组 为什么会出错
void findnext(const char* str,int **next){ int len=strlen(str); *next=new int(len); if(len>0){ (*next)[0]=0; if(len>1) (*next)[1]=1; int j=1,k=0; while(j<len){ if(str[j]==str[k]||k==-1){ (*next)[j+1]=k+2; j++; k++; } else{ k=(*next)[k]-1; } } } cout<<(*next)[1]<<(*next)[2]<<(*next)[3]<<(*next)[4]<<(*next)[5];}int* findnext(const char* str){ int len=strlen(str); int *next=new int(len); if(len>0){ next[0]=0; if(len>1) next[1]=1; int j=1,k=0; while(j<len){ if(str[j]==str[k]||k==-1){ next[j+1]=k+2; j++; k++; } else{ k=next[k]-1; } } } return next;}