2009-05-31 11 views
0

C言語で少しのアプリケーションを作成していますが、構造体を定義したいと思います。それが原因含めると問題です構造体を定義する際の問題

 
typedef struct { 
    ITEM element[TAILLE_TAMPON]; 
    sem_t mutex, attendreVide, attendrePlein; 
    int ptEntree, ptSortie; 
} TAMPON; 

が、私はITEM と私のプロジェクトを構築したとき、私はエラーを持っている:私はこれをやっていますか?

  • stdio.hの
  • STDLIB.H
  • TIME.H
  • "psleep.h"
  • semaphore.h
  • pthread.hの

「PSLEEP。 h "は" unistd.h "を含む。

ありがとうあなたの助けに。

+2

あなたが話すエラーを含める必要があります。 – dwc

+0

あなたはどんなエラーがありますか? – Zifre

+2

どのようにITEMタイプを宣言しましたか? –

答えて

2

いいえ、それは全く含まれていないためです。あなたが私たちに示したことを考えれば、ITEMは定義されたタイプではないからです。

+1

を追加したくなったのですが、それはおそらく定義されたタイプではないためです。なぜなら、定義された場所が含まれていなかったからです。 –

+0

私のエラーはITEMの定義に由来します。私はtypedef enum {...}を作るのを忘れていました。私はそれが構造体の問題だと思った。ご協力ありがとうございました。 –

4

ITEMタイプが宣言されたヘッダーの1つのように聞こえますが、もっと情報を提供する必要があります。 ITEM構造体を定義するファイルを#includeしていることを確認してください。

0

ITEMは、TAMPONの前に宣言する必要があります。おそらくTAMPONの後にそれを宣言しようとしましたか?

インクルード順に、他の構造体を定義するために必要な構造体型が、それを参照する構造体の前に持ち込まれていることを保証してください。たとえば、TAMPONを使用するBOX_OF_TAMPONS構造体がある場合は、TAMPONの後にBOX_OF_TAMPONSを宣言します。

関連する問題