总显示引发了异常: 读取访问权限冲突。 T 是 0xCDCDCDCD。不知道怎么搞。

#include<iostream>
using namespace std;
char s[105];
int len = 0;
int cnt = 0;
typedef struct Node {
    char data;
    Node* lchild, * rchild;
}*BiTree, BiTNode;
void creat(BiTree& T)
{
    if (cnt >= len) return;
    if (s[cnt] == ' ')
    {
        T = NULL;
        cnt++;
    }
    else
    {
        T = new BiTNode;
        T->data = s[cnt];
        cnt++;
        creat(T->lchild);
        creat(T->rchild);
    }
}
void PreOrder(BiTree T)
{
    if (T != NULL)
    {
        cout << T->data;
        PreOrder(T->lchild);
        PreOrder(T->rchild);
    }
}
void InOrder(BiTree T)
{
    if (T != NULL)
    {
        InOrder(T->lchild);
        cout << T->data;
        InOrder(T->rchild);
    }
}
void PostOrder(BiTree T)
{
    if (T != NULL)
    {
        PostOrder(T->lchild);
        PostOrder(T->rchild);
        cout << T->data;
    }
}
int main()
{
    while (cin >> s) {
        len = strlen(s);
        cnt = 0;
        BiTree T;
        creat(T);
        PreOrder(T);
        printf("\n");
        InOrder(T);
        printf("\n");
        InOrder(T);
        printf("\n");
    }
    return 0;
}
 

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^