求树高的函数不知道哪里有错

int getDepth(BTree rt)
{
int hl,hr,hmax;
if(rt!=NULL){
hl=getDepth(rt->lchild);
hr=getDepth(rt->rchild);
max=hl>hr?hl:hr;
return max+1;
}
else{
return 0;
}
}

单独看这些代码,没有看出错误,你怎么调用的,怎么初始化BTree的,应该问题在别的地方。