在"当前节点"之前应使用";"

Expected ';' before 'currentNode'

本文关键字:节点      更新时间:2023-10-16

这是我的代码

void llInsertAfter(list* myList, node *insNode, std::string *toStore)
{
    node node;
    node.value = *toStore;
    if(llSize(myList) == 0)
    {
        (myList -> head) = &node;
        (myList -> tail) = &node;
    }
    else
    {
        node currentNode = *(myList -> head);
        while(currentNode.value != (insNode -> value))
        {
            currentNode = *(currentNode.next);
        }
        if(currentNode.next == NULL)
        {
        currentNode.next = &node;
        }
        else
        {
            node.next = currentNode.next;
            currentNode.next = &node;
        }
    }
}

这是错误信息

llist.cpp:73:8: error: expected ‘;’ before ‘aa’
   node aa = *(myList -> head);

我不明白为什么会发生这种错误。

问题就在这里:

node node;

之后,名称node指的是局部变量,而不是类型。由于它是一个类类型,因此此后可以将其称为class nodestruct node;但更好的选择可能是为变量使用不同的名称。