关于结构体变量定义的问题

小班得瑞 小班得瑞 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我现在有三个文件:a.h, a.cpp, main.cpp
我在a.h里定义了一个结构体类型,并且声明了一个结构体变量

typedef struct node
{
int key;
struct node *lchild;
struct node *rchild;
}BiTreeNode, *BiTree;

extern BiTreeNode *NIL;

然后在a.cpp里进行如下操作

#include "a.h"

BiTreeNode *NIL = (BiTreeNode *)malloc( sizeof( BiTreeNode ) );
assert( NIL != NULL );
NIL->key = 0;
NIL->lchild = NULL;
NIL->rchild = NULL;

void BiTreeInsert()
{
//函数里使用到了结构体变量NIL
...
}

然后main.cpp也需要用到NIL结构体,所以我也类似a.cpp里处理
编译出现问题,给的错误的位置就是在a.cpp里的结构体变量定义的部分的内容

//错误信息提示是这里有问题
BiTreeNode *NIL = (BiTreeNode *)malloc( sizeof( BiTreeNode ) );
assert( NIL != NULL );
NIL->key = 0;
NIL->lchild = NULL;
NIL->rchild = NULL;

我不知道是什么问题,请大家帮我解答下,谢谢啦!
...全文

相关推荐

评论 9
收藏 已收藏
分享
返回顶部
小班得瑞
C语言 70,040 成员 243,237 内容