我有一个基于单个C文件的项目,我试图重新排列,以便在几个.C和.h文件中进行进一步的开发。
我的主要工作安排如下:

// General includes

typedef struct
{
} MyStruct;

#include "MyInclude.h"

// Rest of the code

我的文件“MyInclude.c”组织如下:
#include "MyInclude.h"

// Defines

// Functions that need to know MyStruct

关于GCC的编译过程有一些我不理解的地方。事实上,我得到了一个错误“MyStruct undeclared(first use In this function)”,我不知道为什么,因为我把include放在结构的typedef声明之后。
有人知道为什么吗?

最佳答案

这个问题有点不清楚。
文件“MyInclude.c”只能访问您的H文件。
而你的结构是写在另一个C文件。
你可以通过以下方法解决:
在H文件“MyInclude.H”上定义结构。这是可行的,但在方法上是错误的。
定义setter和getter来访问结构
干杯

10-06 08:05