很急的C++的问题~

来源:百度知道 编辑:UC知道 时间:2024/06/18 18:22:28
提问啦............我数据结构书的上看到一个程序实例!
是关于广义表的!
node *creat()
{
class *LS;
.............
creat(LS->ds.link)///LS->ds.lind是class中的成员
}
这是一个递归调用,上面定义creat是无参的!
为什么自己在调用自己 的时候却带了参数呢 ?

这个问题就不是递归了,这里调用了另外一个函数
creat函数应该是重载了没有参数的方法
node *creat();
void creat(int);
书中作者是不会犯低级错误的。
如果递归正如楼主所说,不能有参数。
另外,广义表里面的创建确实用递归的。创建树的时候,先拿到节点,然后创建左子树和右子树。

creat可能是重载函数名,可能的函数原型

node *creat(); //返回node *,没有形参
void creat(int); //带一个形参int,是ds.link的类型,返回空类型

编译器将根据提供给函数的实参,自动匹配调用合适的函数。