【发布时间】:2015-01-17 20:01:04
【问题描述】:
int insert(node* head) {
if (head == NULL) {
node* temp = new node;
if (head == NULL) {
cout << "Error";
return 0;
}
temp->data = 20;
temp->next = NULL;
} else {
temp->next = insert(temp->next);
}
return (temp);
}
我正在尝试以递归方式添加节点,但出现错误temp was not declared。我不明白为什么会收到此错误。当我总是像这样定义temp node* temp = new node; 但现在我得到了一个错误。
【问题讨论】:
-
insert返回一些东西真的没有意义。此外,您的返回类型是int,但您在return temp中返回node*。只需将返回类型设为void。 -
@0x499602D2,
std::list的insert返回插入元素的迭代器。
标签: c++ recursion linked-list nodes