Cette ligne fonctionne correctement dans un petit programme de test, mais dans le programme pour lequel je le souhaite, je reçois les plaintes suivantes du compilateur:
#include <limits>
x = std::numeric_limits<int>::max();
c:\...\x.cpp(192) : warning C4003: not enough actual parameters for macro 'max'
c:\...\x.cpp(192) : error C2589: '(' : illegal token on right side of '::'
c:\...\x.cpp(192) : error C2059: syntax error : '::'
J'obtiens les mêmes résultats avec:
#include <limits>
using namespace std;
x = numeric_limits<int>::max();
Pourquoi voit-il max comme la macro max (a, b); ?