将指针地址分配给节点

时间:2015-11-07 19:14:35

标签: c++ linked-list

以下是我的代码,用于在链接列表中插入数字,如果之后是head中包含的数字。 错误出现在代码的最后一行

头 - > next =& temp;

错误是:

无法在分配中将Node **转换为Node *。

我想要做的是给head.next提供temp的地址,以便head指向temp。

void LinkedList::insertAfter(int toInsert, int afterWhat)
{
       if(head->data == afterWhat)
       {

        Node* temp = new Node;
        temp->next = head->next;
        temp->data = toInsert;
        head->next = &temp;
       }
}

2 个答案:

答案 0 :(得分:1)

因为temp已经是一个指针,所以你不必写& temp。 使用head-> next = temp;

答案 1 :(得分:0)

你需要

head->next = temp;

temp的类型为Node*,因此&temp的类型为Node**,因此编译器会正确投诉。