gpt4 book ai didi

c - 外部结构数组错误: array type has incomplete element type

转载 作者:行者123 更新时间:2023-11-30 14:51:51 25 4
gpt4 key购买 nike

我有 3 个文件:main.cdef.cdef.h。两个 .c 文件都包含 def.h。所有文件都位于同一目录中。我的编译器是gcc版本4.9.2

def.h中:

struct _info {
int a;
};

def.c中:

#include "def.h"
struct _info info[] = {};

ma​​in.c中:

#include "def.h"
extern struct _info info[];

当我将 def.c 构建为目标文件,然后使用 main.c 进行构建时,如下所示:

gcc -c def.c
gcc main.c def.o

我收到一条错误消息:数组类型具有不完整的元素类型

<小时/>

如果我使用 typedefstruct _info 定义为 INFO,如下所示:

typedef struct _info INFO;

并将 .c 文件中的 struct _info 替换为 INFO。然后编译就ok了。

但是typedef为什么以及做什么呢?

最佳答案

感谢大家的帮助。这个问题最终在 main.c 中出现拼写错误。像这样的东西:

extern struct _infoo info[];

typedef 替换它们时,一切都工作正常。

关于c - 外部结构数组错误: array type has incomplete element type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47966482/

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