【问题标题】:Delete all user within a linked list c++删除链表c ++中的所有用户
【发布时间】:2015-10-14 09:37:52
【问题描述】:

我是 C++ 新手,但我想知道删除链表(文件)中所有节点的可能方法是什么。鉴于此,我必须输入文件名,文件中的所有节点都将被删除。好像我无法删除任何文件...

 void deleteF(filepointer &head, char *fileName)
    {
         filepointer deleteFile = head;
         while(deleteFile != NULL)
            {
                 if(strcmp(deleteFile-> nameofFile, fileName)==0 ){
                         delete deleteFile;
                   }
                 else{
                        cout<<"Fail deletion"<<endl;
                     }
             deleteFile = deleteFile -> nextFile;
            }
    }

【问题讨论】:

  • 如果这是一个编程课程的练习,你应该退出并学习 C++ 标准库。
  • 这么多错误...代码不应该编译,听你的编译器。
  • 确实删除了节点,并在其路径中留下了一个充满悬空指针的列表。检查这些节点的内容是未定义的。您还需要从列表中取消链接节点。
  • 如何从列表中取消链接节点,有什么例子吗?

标签: c++ linked-list nodes file-pointer


【解决方案1】:

delete 是 C++ 中的关键字。您不能将其用作函数的标识符。

给你的函数一个不同的名字。

【讨论】:

    猜你喜欢
    • 2012-08-18
    • 2021-12-09
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    相关资源
    最近更新 更多