extern const struct ss_type ss_table [MAX_CLASS];
extern const struct ss_group_type ss_group_table [MAX_GROUPS];
merc.h:4430:30:错误:数组类型具有不完整的元素类型 Merc.h:4431:35: 错误:数组类型具有不完整的元素类型
正在从事一个宠物项目,我完全被这个项目难住了。我真的不知道为什么这个错误会反射(reflect)这些行。我最好的猜测是编译器无法理解 ss_table、ss_type、ss_group_table 和 ss_group_type 是什么。
但是,ss_table 和 ss_type 已定义
const struct ss_type ss_table [MAX_CLASS] = { { /* FALSE */
"",
{0},
{0},
{NULL}
},
ss_group_table 和 ss_group_type 也是如此
const struct ss_group_type ss_group_table [MAX_GROUPS] =
{
/* NONE: FALSE return 0 */
{"", 0,
{
{NULL, 0, 0, {NULL}, {NULL} }
}
},
这让我不知道如何解决这个错误。
最佳答案
不,类型仅被前向声明,但未指定。至少你没有给我们任何东西。 resl 定义如
struct toto {
double hei;
};
必须可见。
这样的struct
定义应该放在头文件.h
中并包含在.c
文件(也称为编译单元)中使定义可见。
关于c - 错误: array type has incomplete element type - already defined structs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16140505/