2

私は2つのヘッダーを持っています

ヘッダー「BinTree.h」内:

typedef struct node {
    ElemType data;
    struct node *lchild;
    struct node *rchild;
}BTNode;

ヘッダー「Queue.h」(BinTree.h を含む):

typedef BTNode* Dataype;

コンパイル時にコンパイラは次のように述べました: エラー: 'BTNode' は型に名前を付けていません

どうしたの?

4

2 に答える 2

2

宣言の前に含めBinTree.hましたか?Queue.h

または.cpp、事前にそれを含めてもらいます(または道徳的に同等のもの)

CDTの編集

前方宣言がその答えです。

あなたがコードを投稿しなかったので、それを伝えるのは難しいです。

しかし、私はここで推測をぶち壊します

typedef struct node BTNode;

でチケットを打つだろうQueue.h

于 2012-11-05T15:58:50.723 に答える
1

相互に含める場合は、ノードタイプの前方宣言が必要です。:の前にこれを追加しtypedefますtypedef struct node BTnode;

于 2012-11-05T16:23:26.513 に答える