Lista i wskaźniki

0

Witam :)
Mam pytanie odnośnie tego kodu: https://ideone.com/YEu9Cu . Czemu funkcja addBeg nie zmienia head i mam segment? Z góry dzięki za wyjasnienie tego problemu , rozkminiam to już dłuższy czas nie wiem czemu się tak dzieje :/ .

1

Żeby zmienić head w funkcji musisz przekazać jako Node **head.

2

Bo operujesz na kopii. To jest to samo co:

void f(int head)
{
	head = 5;	
}

int main() 
{
	int head = -1;
	f(head);
	cout << head;
}

Najszybszy fix to przekazać Node*& head.

1 użytkowników online, w tym zalogowanych: 0, gości: 1