2011-05-05 65 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 { ... };)。