已知二叉树采用二叉链表存储结构,下列递归函数实现交换该二叉树中每一个结点的左右child

请问以下函数体是否存在错误?
typedef struct Node {
int data;
struct Node *LChild, *RChild;
} BiTNode, *BiTree;
void SwapTree(BiTree T)
{ if (T==NULL) return;
else
{ BiTree *k=0;

     k = T->Lchild;

    T->Lchild = T->Rchild;

    T->Rchild = k;

    Swap​Tree(T->Lchild);

    SwapTree(T->Rchild);

}

}

  1. 参数不是指针
  2. BiTree*k = 0不可能通过编译