Ho modificato il codice così:
codice:
void lista::distanzak(int k){
nodo *p,*prec,*del;
p=l;
while (p!=0 && p->succ!=0){
prec=p;
p=p->succ;
int x=prec->valore+k; //Ho aggiunto queste variabili per controllare le
// operazioni svolte
int y=prec->valore-k;
cout<<"valori:"<<x<<" , "<<y;
if ((p->valore<y)|| (p->valore>k)){
del=p;
prec->succ=p->succ;
delete del;
p=p->succ;
}
else
prec=p;
p=p->succ;
}
}
Il compilatore non mi da errori di sintassi ma l'output è:
Stack trace:
Frame Function Args
0028A7E4 76451194 (00000108, 0000EA60, 00000000, 0028A918)
0028A7F8 76451148 (00000108, 0000EA60, 000000A4, 0028A8F4)
0028A918 610DC559 (0028A8F0, 61103832, 0053002B, 002B002B)
0028AA08 610D9913 (00000000, 61103CF0, 0028AA24, 00000001)
0028AA68 610D9DEE (5AD6FC80, 00000000, 00000000, 00000006)
0028AB18 610D9F40 (00001180, 00000006, 00000001, 0000000A)
0028AB38 610D9F6C (00000006, 00000006, 0028AB78, 5AD22715)
0028AB68 610DA233 (5AD70480, 61276520, 0028ABD8, 5AD344FE)
End of stack trace
Chi mi da una mano?
Grazie!