我在网上搜索了上述错误,但人们主要谈论访问结构字段的错误方式( - > vs。)。我试过了,但我仍然收到同样的错误。 我有这两个结构:
struct Node_ {
int num;
G12_t* G12;
}node_t;
struct G12_{
int level;
int size;
G12_t* next;
}G12_t;
当我想在node_t中访问G12_t的级别字段时,我收到上述错误。我可以访问以下级别字段:
node_t* pNode;
pNode->G12->level = 0;
答案 0 :(得分:3)
您似乎尝试为这两种类型创建typedef,但您没有使用typedef
关键字。您所做的是创建一个名为struct G12_
的{{1}}实例和一个名为G12_t
的{{1}}实例。
您需要在每个关键字之前添加struct Node_
关键字。此外,您需要在node_t
之前定义typedef
,因为后者使用前者,并且您可以在其定义的结构中使用G12_t
名称。您需要使用完整的结构名称:
node_t