typedef - 不命名类型

时间:2012-11-05 15:55:50

标签: c typedef

我有两个标题

标题“BinTree.h”中的

typedef struct node {
    ElemType data;
    struct node *lchild;
    struct node *rchild;
}BTNode;
标题“Queue.h”中的

(包括BinTree.h):

typedef BTNode* Dataype;

在编译compilor时说:      错误:'BTNode'没有命名类型

怎么了?

2 个答案:

答案 0 :(得分:1)

您是否在声明之前在BinTree.h中添加了Queue.h

或者你.cpp(或道德等同物)事先包括它

编辑CDT

前瞻声明就是答案。

由于您没有发布代码,因此很难说。

但我会在这里嗤之以鼻

typedef struct node BTNode;

可以在Queue.h

中点击机票

答案 1 :(得分:1)

如果您有相互包含,则需要转发声明您的节点类型。在typedeftypedef struct node BTnode;

之前添加此内容