如何使用通过引用传递的值进行更新以删除双链接列表中的出现次数
How do I use the value passed by reference to update to remove the occurrence within a doublylinkedlist
我正在使用双向链表,并试图根据用户的输入删除节点。该值通过引用传递给名为 remove 的函数。但是,我编写的代码似乎不适用于通过引用传递的值......或者也许我没有正确初始化它。我收到"错误错误:_ret未在此范围内声明">
void DoublyLinkedList::remove(const string& s)
{
if (current == nullptr){
//return nullptr;
}
Node *next_ = current->next;
Node *prev_ = current->prev;
//I THINK THIS IS WHERE I AM WRONG???
_ret = Node(s);
_ret = nullptr;
//s _ret = nullptr;
if (next_ != nullptr && prev_!=nullptr){
current->prev->next = current->next;
current->next->prev = current->prev;
delete current->data;
delete current;
current = next_;
_ret = current->data;
}
else if (next_ == nullptr && prev_==nullptr){
this->head = this->tail = nullptr;
delete current->data;
delete current;
current = nullptr;
_ret = nullptr;
}
else if (next_ != nullptr && prev_ == nullptr){
head = head->next;
head->prev = nullptr;
delete current->data;
delete current;
current = next_;
_ret = current->data;
}
else if (next_ == nullptr && prev_ != nullptr){
tail = tail->prev;
tail->next = nullptr;
delete current->data;
delete current;
current = nullptr;
_ret = nullptr;
}
}
编译器是正确的,您尚未在函数中声明_ret
。这意味着,您尚未提供变量的类型。
此外,这是执行清单的某种练习吗?如果没有,为什么不简单地使用std::list
?
相关文章:
- 从链接列表c++中删除一个项目
- 你能检查一下为什么在这个代码中从链接列表中删除项目不起作用吗
- 如果我想链接静态库并删除未使用的符号.txt我应该如何处理 Cmakelist
- 为什么每当我尝试运行此链接列表删除功能时都会收到分段错误错误?
- Eclipse CDT clang 工具链 - 无法从链接器选项中删除 stdlibc++,但可以添加 libc++,E
- 删除链接列表中剩余的最后一个节点
- 避免在使用链接列表从 deque 中删除最后一个节点时出现内存泄漏
- 文件删除(使用取消链接)与释放所有磁盘空间之间的延迟
- MSVC 编译器/链接器何时合成标量/矢量删除析构函数
- 为什么当我从语句检查中删除"+ mod"时,以下程序给出错误的答案。问题链接:https://www.codechef.com/problems/FFC219B
- 如何在g++中从链接库中删除路径
- 有没有办法防止从 gnu 链接器垃圾收集中删除添加的 .o 文件部分
- 链接列表的push_front和push_back方法似乎删除了节点
- 了解从链接列表中删除重复项的复杂性
- 使用 Android Studio 使用本机代码编译 apk 时,如何在链接处删除 libgnustl_static.
- 删除节点并处理新的 nullptr 和链接节点
- 如何在不泄漏内存的情况下删除链接列表
- 简单的链接列表删除失败
- 内部源代码 - 在链接列表实现中插入元素上的删除会破坏整个应用程序
- 使用链接删除哈希表中的值