我有一个像这样定义的全局双链表结构:
res.render('listall', {
allTodos: todos
})
如果我尝试使用struct list {
struct list *next;
struct list *prev;
};
初始化结构列表(在同一文件中),我会得到sizeof(struct list)
。在这种情况下,为什么invalid application of 'sizeof' to an incomplete type 'struct list'
被视为不完整类型?结构只有2个指针,其大小可以在编译时计算。
答案 0 :(得分:1)
由于你没有向我们展示Minimal, Complete, and Verifiable Example我只能猜测,但我猜你没有包含定义结构的头文件,只有前向声明。
该前向声明仅告诉编译器结构存在,但没有说明其成员或结构的 size 。为此,您需要完整的定义。