主题:[讨论]求教多文件中定义问题
情况是这样的:
在一个名为"BiTree.h"中定义了
[code=c]
#include "SqStack.h"
typedef struct BiTNode{
TElemType data;
BiTNode *lchilde, *rchild;
}BiTNode, *BiTree;
[/code]
在另一个名为"SqStack.h"头文件中写了
[code=c]
typedef BiTree SElemType;
[/code]
可是BiTree下面出现了红线
如果在"SqStack.h"中加上
[code=c]
#include "BiTree.h"
[/code]
又会提示包含文件过多和重定义。
另外请教上面那个结构体和下面结构体的区别
[code=c]
typedef struct{
TElemType data;
BiTNode *lchilde, *rchild;
}BiTNode, *BiTree;
[/code]
在一个名为"BiTree.h"中定义了
[code=c]
#include "SqStack.h"
typedef struct BiTNode{
TElemType data;
BiTNode *lchilde, *rchild;
}BiTNode, *BiTree;
[/code]
在另一个名为"SqStack.h"头文件中写了
[code=c]
typedef BiTree SElemType;
[/code]
可是BiTree下面出现了红线
如果在"SqStack.h"中加上
[code=c]
#include "BiTree.h"
[/code]
又会提示包含文件过多和重定义。
另外请教上面那个结构体和下面结构体的区别
[code=c]
typedef struct{
TElemType data;
BiTNode *lchilde, *rchild;
}BiTNode, *BiTree;
[/code]