In einem kürzlich durchgeführten Update Ihrer main.cpp-Datei haben Sie die folgende Präprozessoranweisung eingeführt:
#define NOMINMAX #include <Windows.h> #include <algorithm>
Mit dieser Aktion können Sie die Funktionen std::max und std::min in Ihrem Code verwenden. Nachfolgende Versuche, diese Funktionen in anderen Dateien zu verwenden, führen jedoch zu Fehlern wie:
error C2589: '(' : illegal token on right side of '::' error C2059: syntax error : '::'
Trotz Versuchen, NOMINMAX in diesen zusätzlichen Dateien zu definieren, besteht das Problem weiterhin.
Das Problem liegt in der Tatsache ist, dass NOMINMAX Aliase für die Windows-Min- und -Max-Makros definiert und die von
(std::min)(x, y);
Dieser Ansatz vermeidet den Aufruf der funktionsähnlichen Makros und ermöglicht die Anwendung der Standard-C-Versionen.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich Fehlermeldungen, wenn ich std::min/max mit #define NOMINMAX verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!