Comme d'autres l'ont mentionné, les erreurs sont dues à des min/max macros qui sont définis dans l'en-tête windows(s). Il y a trois façons de les désactiver.
1) #define NOMINMAX
avant y compris en-tête, c'est généralement une mauvaise technique de définir des macros afin d'influer sur les en-têtes suivants;
2) définir NOMINMAX
dans le compilateur de ligne de commande/IDE. La mauvaise partie au sujet de cette décision est que si vous voulez expédier vos sources, vous avez besoin d'avertir les utilisateurs à faire de même;
3), il suffit d'annuler la définition des macros dans votre code avant de servir
#undef min
#undef max
C'est probablement le plus portable et une solution flexible.