gpt4 book ai didi

c - C 中的嵌套结构

转载 作者:太空宇宙 更新时间:2023-11-04 02:51:44 26 4
gpt4 key购买 nike

我是 C 语言的菜鸟,需要一些帮助才能使我的代码...好吧...做任何事情。我将以下内容放入 .h 文件中。

typedef struct
{
int active;
int dead;
ucontext_t t;
struct node *link;
}gtthread_t;

struct node{
struct gtthread_t thread;
};

typedef struct
{
int rubic;
}gtthread_mutex_t;

这是一个 .h 文件...一个 .h 文件,我不得不在其中 #include ucontext.h ...我知道我也不应该这样做...但这是我唯一能做的我发现访问 ucontext_t。

所以,我这里的错误是“field thread has incomplete type”。

为什么?那有什么意思?如果我想在 .h 文件中声明具有此类数据的结构,我怎么可能不导入 ucontext.h?

最佳答案

与您的其他包含无关。这与您的第一个结构是匿名的并且具有类型名称 gtthread_t 这一事实有关。与 C++ 不同,C 区分 gtthread_tstruct gtthread_t

要么命名结构:

struct gtthread_t
{
int active;
int dead;
ucontext_t t;
struct node *link;
};

或者将类型名称更改为 typedef:

struct node{
gtthread_t thread;
};

关于c - C 中的嵌套结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21409798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com