T就是个变量
它的类型是BiTree
形参里面写&T表示传递参数的地址
而后面的赋值里你不可以给地址赋值啊
T->lchild本身就已经是指针了,不需要再取地址了。而且你写的&是引用的意思,也就是起别名,就算不是指针而是一个数据,也不需要加&,除非是用*做参数
举个例子来说
int fun(int &a,int*b){
return 0;
}
int x = 0;
int y = 20;
int z[10];
int *p;
func(x, &y);//这么调用,因为y是变量,本身并一个指针
func(x, z);
func(x, p);