C++ C+中的树实现+;:无法将节点转换为int*询问问题

C++ C+中的树实现+;:无法将节点转换为int*询问问题,c++,data-structures,binary-tree,binary-search-tree,nodes,C++,Data Structures,Binary Tree,Binary Search Tree,Nodes,我目前正在做作业。下面是我编写的构建二叉树的程序。我得到的错误是,“无法将赋值中的'node'转换为'int*'。你能帮帮我吗** #include<iostream> #include<conio.h> struct node { char data; int *left,*right; }; int main() { node *T; //ROOT of tree node *p,*q; //address of first nod

我目前正在做作业。下面是我编写的构建二叉树的程序。我得到的错误是,“无法将赋值中的'node'转换为'int*'。你能帮帮我吗**

#include<iostream>
#include<conio.h>

struct node
{
    char data;
    int *left,*right;
};

int main()
{
    node *T; //ROOT of tree
    node *p,*q; //address of first node in T
    T=new node;
    T->left=NULL;
    T->right=NULL;
    T->data='A';


    p=new node;
    p->left=NULL;
    p->right=NULL;
    p->data='B';
    T->left=&p;

    p=new node;
    p->left=NULL;
    p->right=NULL;
    p->data='C';
    T->right=&p;

    q=new node;
    q->left=NULL;
    q->right=NULL;
    q->data='D';
    p->left=&q;

    return 0;
}```
#包括
#包括
结构节点
{
字符数据;
int*左,*右;
};
int main()
{
node*T;//树的根
node*p,*q;//T中第一个节点的地址
T=新节点;
T->left=NULL;
T->right=NULL;
T->data='A';
p=新节点;
p->left=NULL;
p->right=NULL;
p->data='B';
T->left=&p;
p=新节点;
p->left=NULL;
p->right=NULL;
p->data='C';
T->right=&p;
q=新节点;
q->left=NULL;
q->right=NULL;
q->data='D';
p->left=&q;
返回0;
}```

将结构定义更改为

struct node
{
    char data;
    node *left,*right;  // <- node * here
};
struct节点
{
字符数据;

node*left,*right;//按照@TarekD的建议更改您的结构,问题是您试图将node*强制转换为int*

T->left=&p;

T->right=&p;

p->left=&q;