我有以下结构
typedef struct VMCS
{
uint32_t revision;
uint32_t abortValue;
} __attribute__ ((packed)) VMCS;
当我尝试编译代码时,我从gcc
收到此警告warning: unnamed struct/union that defines no instances
后面是由VMCS未定义引起的一堆错误。在此之前的代码是非常无害的,包括stdint.h和许多#define条目。似乎这些不会导致会干扰结构的错误。
答案 0 :(得分:2)
...以及一些#define条目
显然,您将VMCS
定义为具有空替换列表的宏。您的代码被编译器视为
typedef struct
{
uint32_t revision;
uint32_t abortValue;
} __attribute__ ((packed));
因此警告。