用cmake编译时出现如下错误,请问该如何解决呢是代码问题还是编译器的问题呢?


#include<stdio.h>
#include<stdlib.h>
#include"BiTree.h"

int main(int argc, char const *argv[])
{
    BinaryTree a,b,x,y,z;
    Create(&a);Create(&b);Create(&x);Create(&y);Create(&z);
    MakeTree(&y,'E',&a,&b);
    MakeTree(&z,'F',&a,&b);
    MakeTree(&x,'C',&y,&z);
    MakeTree(&y,'D',&a,&b);
    MakeTree(&z,'B',&y,&x);
    PreOrderTree(&z);
    ClearTree(&z);
    getchar();
    return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include <stdbool.h> 
#include"BiTree.h"

void Create(BinaryTree *bt)
{
    bt->root = NULL;
}

BTnode* NewNode(BTnode *lChild,BTnode *rChild,char x)
{
    BTnode *Node = malloc(sizeof(BTnode));
    Node->lChild = lChild;
    Node->rChild = rChild;
    Node->element = x;
    return Node;
}

bool Root(BinaryTree *bt,char *x){
    if(bt->root){x = &bt->root->element;    return true;}
    else return false;
}

void MakeTree(BinaryTree *bt,char e,BinaryTree *left,BinaryTree *right)
{
    if(bt->root||left == right) return;
    bt->root = NewNode(e,left->root,right->root);
    left->root = right->root = NULL;
}

void PreOrderTree(BinaryTree *bt)
{
    PreOrder(bt->root);
}

void PreOrder(BTnode *t)
{
    if(!t) return;
    printf("%c",t->element);
    PreOrder(t->lChild);
    PreOrder(t->rChild);
}

void ClearTree(BinaryTree *bt)
{

}

img