这是我的代码
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);
我不明白为什么会发生这种错误。
答案 0 :(得分:2)
问题在于:
node node;
之后,名称node
引用局部变量,而不是类型。由于它是类类型,因此您可以将其称为class node
或struct node
;但更好的选择可能是为变量使用不同的名称。