C++ - 将节点设置为 NULL 不起作用

面条
#include <iostream>
using namespace std;
struct node{
  int val;
  node* left, *right;
};

void _delete(node *root)
{
  root = NULL;
}
void change(node *root)
{
  root->val = 6;
}
int main()
{
  node * root = new node;
  root->val = 5;
  change(root);
  _delete(root);
  cout<<root->val<<endl;
  return 0;
}

上面程序的输出是6。看起来好像_delete函数对根节点没有影响,但change函数对根节点有影响。这几乎就像delete将传递的参数视为局部变量,但change将参数视为全局变量。有什么我遗漏的还是正常的?如果正常,请说明。

拔示巴

由于您函数中按值传递指针_delete,因此调用方中的值不会更改。

最快的解决方法是写

void _delete(node*& root)

即通过引用传递指针:注意&您可能还想delete在那里调用指针,否则会泄漏内存。该函数change按原样工作,因为您使用的是指向成员operator指针->

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将cookie设置为null在Java中不起作用

来自分类Dev

委托/事件winform c#不起作用-订户/侦听器始终为null

来自分类Dev

C#检查UILabel是否不为null不起作用

来自分类Dev

在C中检查NULL指针不起作用

来自分类Dev

C#WPF-将Textbox.Text设置为字符串不起作用

来自分类Dev

将__attribute __((used))设置为C变量/常量不起作用

来自分类Dev

当source为null / undefined时,模板绑定不起作用

来自分类Dev

如果string为null,则Servlet doGet不起作用

来自分类Dev

捆绑包不起作用(getArguments()始终为null)[Android]

来自分类Dev

删除链表节点,C++ 函数不起作用

来自分类Dev

通过PHP将mysql列更新为NULL不起作用

来自分类Dev

Mono C#设置CultureInfo在Windows上不起作用

来自分类Dev

MVC DropdownlistFor 设置选定的值不起作用?c#

来自分类Dev

(C)当终止值为[^ \ n]时scanf不起作用

来自分类Dev

Eclipse:为C项目添加外部库不起作用

来自分类Dev

当我将 x 设置为在节点 js 中请求时,“x”的 getData 不起作用

来自分类Dev

检查'!= null”不起作用

来自分类Dev

strstr == NULL不起作用,

来自分类Dev

!=null 或 !=undefined 不起作用

来自分类Dev

将LinkedList节点设置为null

来自分类Dev

C ++将内容移入功能不起作用

来自分类Dev

将平方数相加的 C 程序 - 不起作用

来自分类Dev

将节点添加到链表的功能不起作用 C

来自分类Dev

setockopt 在 C++ 中不起作用(超时设置为 1 秒,等待时间更长)

来自分类Dev

检查Null指针在C中不起作用(出现SegFault错误)

来自分类Dev

将节点设置为NULL与删除节点之间的区别

来自分类Dev

将c3.js折线图导出为png图像不起作用

来自分类Dev

“ shahab”指令中的控制器不起作用。(为Null)

来自分类Dev

如果父属性为null,则WPF嵌套属性绑定不起作用

Related 相关文章

  1. 1

    将cookie设置为null在Java中不起作用

  2. 2

    委托/事件winform c#不起作用-订户/侦听器始终为null

  3. 3

    C#检查UILabel是否不为null不起作用

  4. 4

    在C中检查NULL指针不起作用

  5. 5

    C#WPF-将Textbox.Text设置为字符串不起作用

  6. 6

    将__attribute __((used))设置为C变量/常量不起作用

  7. 7

    当source为null / undefined时,模板绑定不起作用

  8. 8

    如果string为null,则Servlet doGet不起作用

  9. 9

    捆绑包不起作用(getArguments()始终为null)[Android]

  10. 10

    删除链表节点,C++ 函数不起作用

  11. 11

    通过PHP将mysql列更新为NULL不起作用

  12. 12

    Mono C#设置CultureInfo在Windows上不起作用

  13. 13

    MVC DropdownlistFor 设置选定的值不起作用?c#

  14. 14

    (C)当终止值为[^ \ n]时scanf不起作用

  15. 15

    Eclipse:为C项目添加外部库不起作用

  16. 16

    当我将 x 设置为在节点 js 中请求时,“x”的 getData 不起作用

  17. 17

    检查'!= null”不起作用

  18. 18

    strstr == NULL不起作用,

  19. 19

    !=null 或 !=undefined 不起作用

  20. 20

    将LinkedList节点设置为null

  21. 21

    C ++将内容移入功能不起作用

  22. 22

    将平方数相加的 C 程序 - 不起作用

  23. 23

    将节点添加到链表的功能不起作用 C

  24. 24

    setockopt 在 C++ 中不起作用(超时设置为 1 秒,等待时间更长)

  25. 25

    检查Null指针在C中不起作用(出现SegFault错误)

  26. 26

    将节点设置为NULL与删除节点之间的区别

  27. 27

    将c3.js折线图导出为png图像不起作用

  28. 28

    “ shahab”指令中的控制器不起作用。(为Null)

  29. 29

    如果父属性为null,则WPF嵌套属性绑定不起作用

热门标签

归档