错误C2016:C要求结构或联合至少有一个成员(在编译Bonjour时)

时间:2013-10-25 12:44:57

标签: c visual-studio-2008 bonjour

我已按照此回答下载了Bonjour - https://stackoverflow.com/a/19585202/492336

我正在尝试使用VS2008为Windows编译它,但我收到此错误:

  

错误C2016:C要求结构或联合至少有一个成员

错误位于mDNSEmbeddedAPI.h,位于代码中的这个位置:

#define NSEC_MCAST_WINDOW_SIZE 32
typedef struct
{
    //domainname *next;
    //char bitmap[32];
} rdataNSEC;

由于这是Apple发布的一个着名的库,我很惊讶它无法编译,只要它们将它作为Visual Studio项目发布。

是因为我正在使用VS2008吗?最初发布的项目文件是旧版本 - 我认为VS2005?

2 个答案:

答案 0 :(得分:3)

而不是

typedef struct
{
    //domainname *next;
    //char bitmap[32];
} rdataNSEC;

你应该使用

 typedef struct rdataNSEC rdataNSEC;
 struct rdataNSEC{ };

答案 1 :(得分:1)

来自rdataNSECmDNSEmbeddedAPI.h)声明正上方的评论:

// ... The following is just a palceholder
// and never used anywhere.

那么为什么不只是说出声明?