gpt4 book ai didi

c - 在 header 中使用结构和 typedef 可能不好

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

你好如何重写可能不好的结构?
我试图询问如何修复它以使其工作 there ,但也许这都是坏主意。还有其他解决方案吗?它使用 GCC for linux 在 Eclipse 中编译,编译为 C 代码。

文件先.h

#ifndef FIRST_H_
#define FIRST_H_

typedef struct foo
{
int a;
char *c;
} foo_struct;

#endif /* FIRST_H_ */

文件 second.h:

#ifndef SECOND_H_
#define SECOND_H_

#include "first.h"

typedef struct wtf
{
foo_struct *poleFOO[5];
}wtf_struct;

#endif /* SECOND_H_ */

具体在文件second.h行foo_struct *poleFOO[5];抛出:“foo_struct 无法解析”我在 Linux Ubuntu 11.10 上工作,在 C 和 C++ 编辑器 Eclipse 中使用 gcc。

最佳答案

好的,这不是来自编译器的错误,而是来自 Eclipse 的错误。只需谷歌搜索错误“无法解决”,我就会看到有关 Eclipse CDT(用于 C/C++ 开发的 eclipse 子系统)的文章。

所以它与 Eclipse 有关,您的 C header 在语法上看起来是正确的。我相信没有C文件而只有头文件,Eclipse不知道如何解析头文件来创建自己的索引数据库(必须用于intellisense,符号列表等)

我建议您插入一个简单的 C 文件,包括 second.hmain() 函数,以便链接步骤也能通过,例如:

#include "second.h"

int main() {
wtf_struct my_variable;
return 0;
}

关于c - 在 header 中使用结构和 typedef 可能不好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9022329/

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