Diese Zeile korrekt in einem kleinen Testprogramm funktioniert, aber im Programm, für das ich es will, erhalte ich folgende Compiler Beschwerden:Warnung C4003 und Fehler C2589 und C2059 auf: x = std :: numeric_limits <int> :: max();
#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 : '::'
ich die gleichen Ergebnisse mit bekommen:
#include <limits>
using namespace std;
x = numeric_limits<int>::max();
Warum sieht Max als Makro max (a, b)? ?
In meinem Fall, ohne die "-DNOMINMAX" bekam ich interne Compilerfehler. Es ist amüsant zu beobachten, wie Microsoft ständig gegen sich selbst kämpft. –