gpt4 book ai didi

c++ - 调用对象类型 'ListNode *' 不是函数或函数指针

转载 作者:行者123 更新时间:2023-11-30 03:58:51 27 4
gpt4 key购买 nike

第一个函数中的第 8 行:

ListNode* prev = &dummy;
Have a error: Call object type 'ListNode *' is not a function or function pointer

以下是.cpp中的代码:

ListNode* deleteDuplicatesII(ListNode* head)
{
if (head == nullptr) return nullptr;

ListNode dummy(-1);
dummy.next = head;

ListNode* prev = &dummy; // Error here: Call object type 'ListNode *' is not a function or function pointer
for (ListNode* cur = prev->next(), *next = cur->next; next != nullptr;)
{
if (cur->value == next->value)
{
while (next != nullptr && cur->value == next->value)
{
cur->next = next->next;
delete next;
next = cur->next;
}
prev->next = cur->next;
delete cur;
cur = prev->next; // now the cur == next
if (cur == nullptr) break;
else next = cur->next; // maybe cur is nullptr
}
else
{
prev = cur;
cur = next;
next = next->next;
}
}

return dummy.next;
}




ListNode* Solution::reverseLinkedList(ListNode* head, int m, int n)
{
ListNode dummy(-1);
dummy.next = head;
head = &dummy; // It works well
for (int i = 0; i < m - 1; i++) {
head = head->next;
}

ListNode* prev = head->next;
ListNode* cur = prev->next;
for (int i = m; i < n; i++, cur = prev->next) {
prev->next = cur->next;
cur->next = head->next;
head->next = cur;
}

return dummy.next;
}

这是.h中的代码

struct ListNode
{
ListNode* next;
int value;
ListNode(int v): value(v), next(nullptr){}
};

错误只发生在第一个函数中。但在第二个功能中效果很好。我试图将局部变量 dummy 和 prev 更改为另一个名称。但是总是报错。我真的不知道是什么导致了错误。请提供详细信息,我将不胜感激。

最佳答案

去掉 next.. 后面的括号在for循环中..它是一个属性,但是有括号,编译器认为它是一个方法/函数

关于c++ - 调用对象类型 'ListNode *' 不是函数或函数指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27203866/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com