我在C中做了一个小应用程序,我想定义一个结构 . 我这样做了:
typedef struct {
ITEM element[TAILLE_TAMPON];
sem_t mutex, attendreVide, attendrePlein;
int ptEntree, ptSortie;
} TAMPON;
但是当我使用ITEM构建我的项目时出现错误是否是由于包含问题?
-
stdio.h
-
stdlib.h
-
time.h
-
semaphore.h
-
pthread.h
-
"psleep.h"
“psleep.h”包括“unistd.h”
谢谢您的帮助 .
3 回答
应在TAMPON之前宣布ITEM . 您是否尝试在TAMPON之后宣布它?
请确保您的包含顺序保证您需要定义其他结构的结构类型在引用它们的结构之前引入 . 例如,如果你有一个使用TAMPON的BOX_OF_TAMPONS结构,你将在TAMPON之后声明BOX_OF_TAMPONS .
不,这根本不是因为包括 . 鉴于您向我们展示了什么,这是因为ITEM不是一个定义的类型 .
虽然您需要提供更多信息,但听起来在您的某个 Headers 中声明了ITEM类型 . 检查以确保#include定义ITEM结构的文件 .