首页 > 代码库 > VC中编译报错:error C2011: 'fd_set' : 'struct' type redefinition
VC中编译报错:error C2011: 'fd_set' : 'struct' type redefinition
这是头文件包含顺序的问题,原因与解决办法见下面代码的注释。/*包含下面这两个头文件时,必须把winsock2.h放在前面否则编译报错,N多的重定义错误:例如 error C2011: ‘fd_set‘ : ‘struct‘ type redefinition*/#include <WinSock2.h>#include <Windows.h>int main(int argc, _TCHAR* argv[]){ Sleep(1); return 0;}
其实可以不包含Windows.h,因为在winsock2.h中已经包含的windows.h如果是很多的文件的话,找包含关系太繁琐,可以直接把 winsock2.h 的包含放在cpp最前面。为什么会这样呢?头文件的包含还要求顺序,在MSDN中却没有解释。只能说是微软的头文件写的有问题了。
VC中编译报错:error C2011: 'fd_set' : 'struct' type redefinition
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。