这种扩展先序遍历为什么不能建立二叉树,没有输出结果


#include<bits/stdc++.h>
using namespace std;
typedef struct Node{
    int data;
    struct Node* Left;
    struct Node* Right;
}BiTree;

void CreatBiTree(BiTree *bt){

    int num;
    cin>>num;
    if(num==0) bt=NULL;
    if(num!=0){
        
        bt=new BiTree;
        bt->data=num;
        CreatBiTree(bt->Left);
        CreatBiTree(bt->Right);
    }
}

int main(){
      BiTree* root;
      CreatBiTree(root);
      cout<<root->data;
   
}

create(bitree *) 改成create(Bitree* & )