2011-05-05 68 views
0

在目標c中聲明此結構時發生錯誤。目標c中的結構

struct stRs232Struct* pStruct; 
pStruct->nMessageId = (int)uMessageId; 

錯誤:提領指向不完全類型

回答

1

什麼是stRs232Struct?它是你自己的結構嗎?如果是,那麼你實際上應該在某個地方宣佈它。類似這樣的:

struct stRs232Struct { 
    int nMessageId; 
}; 
... 
struct stRs232Struct* pStruct; 
pStruct->nMessageId = (int)uMessageId; 
... 

如果您已經聲明瞭它,那麼您應該檢查在使用之前是否包含與其定義對應的.h文件。

+0

我已經包含頭文件。 – spandana 2011-05-05 11:24:16

+0

@ron:結構聲明怎麼樣?你宣佈了​​嗎? – 2011-05-05 11:25:49

2

編譯器警告你它知道有一個類型,但它不知道該類型是怎麼樣的。您很可能在某處有前向聲明(struct stRs232Struct;),但您尚未包含完整定義(struct stRs232Struct { ... };)。