做数据结构关于遍历二叉树的实验,进行二叉树的构造录入时,无法将结构体中的指针指向地址符
#include
#include
#include
using namespace std;
#define MAX_QUEUE_SIZE 100
typedef char ElemType;
typedef struct queue
{
ElemType Queue_array[MAX_QUEUE_SIZE];
int front; /* 队首 */
int rear; /* 队尾 */
} Queue;
//定义二叉树结点结构体
typedef struct BTNode
{
ElemType data;
struct BTNode* Lchild, * Rchild;
}BTNode;
//定义二叉树
#define n 12
typedef struct BTree
{
BTNode Node[n];
}BTree;
void PreOut(BTNode (*T))
{
if (T != NULL)
{
cout << (*T).data; // 访问根结点
if (T->Lchild != NULL)
PreOut(T->Lchild);
if (T->Rchild != NULL)
PreOut(T->Rchild);
}
}
int main(Queue Q, ElemType a, ElemType b)
{
int i;
BTree Tree;
cout << "输入:\n";
for (int i = 1; i <= n; i++) //输入并构造二叉树
{
cin >> Tree.Node[i].data;
if (2*i <= n)
** Tree.Node[i].Lchild = Tree.Node[2*i].data;**
else
Tree.Node[i].Lchild = NULL;
if (2*i + 1 <= n)
**Tree.Node[i].Rchild = &(Tree.Node[2*i + 1].data);**
else
Tree.Node[i].Rchild = NULL;
}
BTNode* Root = &Tree.Node[1];//先序遍历并输出二叉树
cout << "输出:\n";
PreOut(Root);
}
错误(活动) E0513 不能将 "ElemType *" 类型的值分配到 "BTNode *" 类型的实体
错误 C2440 “=”: 无法从“ElemType *”转换为“BTNode *”
可不可以帮忙看看问题在哪里