虽然引用内核代码here,struct page;
被定义为没有成员(我猜这不是一个前向声明)。没有成员的结构
但在this后接受的答案说,这是不允许的。
然后我尝试了样品,
#include <stdio.h>
struct page;
struct arm_vmregion
{
unsigned long vm_start;
unsigned long vm_end;
struct page *vm_pages;
int vm_active;
const void *caller;
};
int main()
{
struct arm_vmregion aa;
return 0;
}
它编译成功
empty_struct.c: In function ‘main’:
empty_struct.c:15:22: warning: unused variable ‘aa’ [-Wunused-variable]
请澄清我在这方面。
它*是*前向声明。 –