因此,我做了一些關於這個錯誤的挖掘,我似乎無緣無故地得到它(顯然不能這樣,儘管如此,我決定問)錯誤:取消引用到不完整類型的指針,但一切似乎對我來說很好
在我的.h文件我宣佈
typedef struct setCDT *setADT;
,在我的初始化我有
struct setCDT{
setElementT x[MaxVal];
int len;
};
setADT setNew(){
setADT set;
set=(setADT)malloc(sizeof *set);
set->len=0;
return(set);
}
我身邊以後更改值的代碼,如果我需要後,我可以,但來來往往我知道這與我如何設置結構有關。
在我的驅動程序中,我有setADT A = setNew();
,但當我打電話給printf("%d", A->len);
時,它會引發此錯誤。
任何想法?
哪裏結構setCDT {...}部分中聲明?它應該在.h文件中包含驅動程序#,否則編譯器將不知道結構的內容應該是什麼,並且會給你一個'不完整類型'的錯誤。 –
SetElementT和MaxVal在哪裏定義? –
你可以發佈整個源代碼嗎? –