雖然引用內核代碼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]
請澄清我在這方面。
它*是*前向聲明。 –