gpt4 book ai didi

C++:将指针变量传递给函数

转载 作者:太空狗 更新时间:2023-10-29 23:25:52 24 4
gpt4 key购买 nike

我有一个节点类:

class Node {
public:
int item;
Node * nextLink;
};

我在函数外声明了一个节点指针:

Node * newNode;

然后,我将这个指针传递给函数 foo:

void foo(Node * node) {

node = new Node();

node->item = 1;

Node * anotherNode = new Node();

anotherNode->item = 2;

node->nextLink = anotherNode;
}

实际调用:

foo(newNode);

在 foo 的末尾(但在存在之前)我可以看到 node->item 和 node->nextLink 指向正确的位置。但是,当从 foo 返回时,我检查了 newNode,项目是正确的,但是 nextLink 不存在。

有什么建议吗?谢谢

最佳答案

您需要传递一个引用。您正在修改指针的拷贝

尝试

void foo(Node*& node) 

关于C++:将指针变量传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6711041/

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