gpt4 book ai didi

c++ - 返回链表C++中总数据的函数

转载 作者:太空宇宙 更新时间:2023-11-04 15:51:39 31 4
gpt4 key购买 nike

尝试在我的链表类中实现一个函数,该函数将返回存储在列表中的数据总量。即总计 5、10、20 的链表将返回 35。

我的节点类包含 getNextPtr 和 getData 方法。

我实现了一个新节点并将其命名为 currentPtr 并使其指向 headPtr。

在编译时我得到:“36-request for member getNextPtr in currentPtr which is of non class type”

38和40是一样的,38是currentPtr中的getData。

不太确定我错过了什么......

int LinkedList::getTotal()
{
int total = 0;

Node *currentPtr = headPtr;

(36) while(currentPtr.getNextPtr() != NULL)
{
(38) total += currentPtr.getData();

(40) currentPtr = currentPtr.getNextPtr();
}

return total;
}

想法是遍历链表直到它到达 tailptr,它将指向 null,将它遇到的任何数据添加到 total。

希望这是有道理的,提前致谢:)

最佳答案

如果你想取消引用一个指针,你需要使用->,而不是

例如你的代码变成:

while(currentPtr != NULL)
{
total += currentPtr->getData();
currentPtr = currentPtr->getNextPtr();
}

我还发现编写 while(currentPtr)(即“当我有一个有效指针”时)比显式测试 NULL 更自然。

关于c++ - 返回链表C++中总数据的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7298374/

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