C++ 引用传递对象 如何判断是否是NULL

[复制链接]
查看11 | 回复2 | 2011-9-25 13:57:32 | 显示全部楼层 |阅读模式
你的Node &node是Node变量的引用,不需要if(node!=NULL),这种NULL判断一般用于指针判断。printInOrder(node.lchild);这里,你node.lchild应该是一个指针,你的printInOrder要求传值,你需要解引用,即:printInOrder(*(node.lchild));若是传入Node *node的话,才需要判断node!=NULL,而传指针的话,除非你里面要修改指针指向,否则也不需要Node *&node(该用法,可以修改指针指向,相当于Node **node)。...
回复

使用道具 举报

千问 | 2011-9-25 13:57:32 | 显示全部楼层
void printInOrder(Node& node){//if(node!=NULL){ //没有必要判断对象是否为空,若主调函数中未初始化node,会报错printInOrder(node.lchild); // 不能将参数 1 从“Node *”转换为“Node &”那这里要怎样写才是正确的传参方式呢?//No...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行