【问题标题】:Working on Josephus problem, Node function not working处理约瑟夫斯问题,节点功能不起作用
【发布时间】:2019-02-11 19:56:56
【问题描述】:

我正在处理一项基于约瑟夫斯问题和循环链表的作业。下面的函数在 Xcode 中给出了一个错误(控制到达非 void 函数的结尾),我认为这意味着我需要一个 return 语句。但是,当我添加一个时,它不接受它。但是当我在在线编译器中尝试代码时,它工作正常。

Node *newNode(int data)
{
    Node *temp = new Node;
    temp->next = temp;
    temp->data = data;
}

【问题讨论】:

  • 您尝试的返回语句是什么 - 只是 return temp;?当你说“它不接受它”时,具体是什么错误?
  • 您的函数声称返回一个Node *,所以当然您需要一个return 语句来在该函数中返回这样一个指针。为什么你认为你不需要那个?
  • 您需要return 声明。如果添加它会暴露另一个错误,那就这样吧。保留return 并修复其他错误。另一个错误到底是什么...好吧,如果没有更多信息,我们将无法帮助您。最好采用minimal reproducible example 形式。

标签: c++ singly-linked-list circular-list


【解决方案1】:

需要在末尾加上return temp;

Node *newNode(int data)
{
    Node *temp = new Node;
    temp->next = temp;
    temp->data = data;
    return temp;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-20
    • 2017-09-16
    相关资源
    最近更新 更多