L'ajout de include <winsock2.h> ajoute la macro min et max ce qui crée un conflit avec les fonctions standards std::min et std::max.
Il faut donc les supprimer.
#include <winsock2.h> #undef min #undef max
On se retrouve avec des erreurs de redéfinition : error C2011: 'sockaddr' : 'struct' type redefinition. see declaration of 'sockaddr'.
Il faut forcer l'inclusion de winsock2.h avant winsock.h ou windows.h et le fichier entête l'incluant.
#include <winsock2.h> #include <winsock.h> #include <windows.h>
C++ Redefinition Header Files (winsock2.h) Archive du 03/09/2009 le 17/08/2022