이제는 이해했다고 생각했는데….그러나 꼬리를 무는 다음 질문. 왜 아래 함수는 그럼….. 실행이………. 안될까?
void insertAtHead(node** head, int val)
{
node* temp = *head; // 오리지날 함수에서 이렇게 살짝 바꾸어줌
node* n = new node(val);
n->next = temp;
temp = n;
}
int main()
{
node* head = NULL;
insertAtHead(&head, 1);
insertAtHead(&head, 2);
print(head);
cout << endl;
return 0;
}
마찬가지로 아래도 역시 실행 안됨
void insertAtHead(node*& head, int val)
{
node* temp = head; // 오리지날 함수에서 이렇게 살짝 바꾸어줌
node* n = new node(val);
n->next = temp;
temp = n;
}
int main()
{
node* head = NULL;
insertAtHead(head, 1);
insertAtHead(head, 2);
print(head);
cout << endl;
return 0;
}