Cześć, uczę się list jednokierunkowych i podczas testowania programów w praktyce napotkałem jeden problem, na który nie jestem wstanie znaleźć wytłumaczenia. Mianowicie w funkcji "wypisz" podaje jako argument wskaźnik na strukturę zaś w kolejnej funkcji muszę dodać &. Dlaczego ?
struct lista {
int dane;
lista* adres;
};
void wypisz(lista* head) {
if (head) {
lista* p = head;
while (p) {
cout << p->dane << " ";
p = p->adres;
}
}
}
void dodajNaKoniec(lista *&head, int liczba) {
lista* nowy = new lista;
nowy->dane = liczba;
lista* p = head;
if (p) {
while (p->adres) {
p = p->adres;
}
p->adres = nowy;
nowy->adres = NULL;
}
else {
head = nowy;
nowy->adres = NULL;
}
}