Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有两个标题
在标题“BinTree.h”中:
typedef struct node { ElemType data; struct node *lchild; struct node *rchild; }BTNode;
在标题“Queue.h”(包括 BinTree.h)中:
typedef BTNode* Dataype;
在编译编译器时说:错误:'BTNode'没有命名类型
怎么了?
你BinTree.h在Queue.h声明之前加入了吗?
BinTree.h
Queue.h
或者让你.cpp(或道德上的等价物)事先包含它
.cpp
为 CDT 编辑
前向声明就是答案。
由于您没有发布代码,因此很难说。
但我会在这里猜测
typedef struct node BTNode;
谁会撞到票Queue.h
如果你有相互包含,你需要你的节点类型的前向声明。在之前添加typedef:typedef struct node BTnode;
typedef
typedef struct node BTnode;