codice:
if (j==PatternSize && modello[j-1]!='2')
{
Pattern nuovoPattern= init();
nuovoPattern.modello=modello;
nuovoPattern.frequenza++;
//se non ci sono altri elementi nella lista, allora questo diventa il primo elemento nella lista
if (elem==0)
{
lista=&nuovoPattern;
prec=lista;
}
else
{
//altrimento lo accodo agli altri
cout<<hex<<&nuovoPattern<<"\n";
prec->next=&nuovoPattern;
//nuovoPattern.prev=prec;
prec=&nuovoPattern;
}
elem++
}
vedete il cout<<hex<<&nuovoPattern<<"\n"; ?
bene, mi aspetterei che ad ogni iterazione, mi visualizzasse un indirizzo diverso, visto che nuovoPattern viene generato ogni volta, invece mi da sempre lo stesso indirizzo...l'intendo è di fare una lista, infatti la struct contiene
char *modello
int frequenza
Pattern *next
Pattern *prev
next contiene l'indirizzo del successivo, prev l'indirizzo del precedente..
prec non è altro che l'indirizzo del precedente e vorrei mettere nuovoPattern nel puntatore next dell'ultimo elemento della lista ad ogni iterazione.
perché mi da un indirizzo uguale?
0xbff6211c
0xbff6211c
0xbff6211c
0xbff6211c
0xbff6211c
0xbff6211c
e altre decine di righe così...
vi ringrazio