二叉树程序异常有关问题 急望高手赐教

二叉树程序错误问题 急……望高手赐教啊
我的创建二叉树为什么建立不了呢
void   BinTree::CreatNode(int   depth,BinTreeNode   *t)
{
if(depth> 0)
{
int   item;
cout < < "Please   input   the   data: " < <endl;
cin> > item;
t=new   BinTreeNode(item);
CreatNode(depth-1,t-> GetLeft());
CreatNode(depth-1,t-> GetRight());
}
}
depth为起深度

------解决方案--------------------
你改变了t的值啊,t只是传递了数值,不会改变父节点的指针。
传入参数应该改为 BinTreeNode **t

*t=new BinTreeNode(item);
CreatNode(depth-1,&t-> GetLeft());
CreatNode(depth-1,&t-> GetRight());

------解决方案--------------------
错了是
*t=new BinTreeNode(item);
CreatNode(depth-1,&((*t)-> GetLeft()));
CreatNode(depth-1,&((*t)-> GetRight()));