error C2332: “struct”: 缺少标记名

error C2332: “struct”: 缺少标记名
2011年08月25日
  环境:xp sp3,vs2008, 一段这样的代码
  typedef struct TCP_KEEPALIVE
  {
  u_long onoff;
  u_long keepalivetime;
  u_long keepaliveinterval;
  }TCP_KEEPALIVE;
  报错
  1>正在编译...
  1>xtype.cpp
  1>e:\hbj\test3\kqcici\kqcici\utility\xtype.h(275) : error C2332: “struct”: 缺少标记名
  1>e:\hbj\test3\kqcici\kqcici\utility\xtype.h(275) : error C2011: “”: “enum”类型重定义
  1> c:\program files\microsoft sdks\windows\v6.0a\include\shlobj.h(3599) : 参见“”的声明
  1>e:\hbj\test3\kqcici\kqcici\utility\xtype.h(275) : error C2143: 语法错误 : 缺少“;”(在“常量”的前面)
  1>e:\hbj\test3\kqcici\kqcici\utility\xtype.h(275) : error C2059: 语法错误 : “常量”
  1>e:\hbj\test3\kqcici\kqcici\utility\xtype.h(276) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
  1>e:\hbj\test3\kqcici\kqcici\utility\xtype.h(276) : error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
  1>e:\hbj\test3\kqcici\kqcici\utility\xtype.h(280) : error C2059: 语法错误 : “常量”
  查看类定义,结果有两个
  ws2ipdef.h已经定义了TCP_KEEPALIVE,
  哎,只能改自己的结构体名了

你可能感兴趣的:(技术杂绘)