在main.cpp 檔案的最近更新中,您引入了以下預處理器指令:
#define NOMINMAX #include <Windows.h> #include <algorithm>
此操作可讓您在程式碼中使用std::max 和std::min 函數。但是,隨後嘗試在其他文件中使用這些函數會產生錯誤,例如:
error C2589: '(' : illegal token on right side of '::' error C2059: syntax error : '::'
儘管嘗試在這些附加文件中定義 NOMINMAX,問題仍然存在。
問題在於事實上,NOMINMAX 為 Windows min 和 max 巨集定義了別名,覆蓋了
(std::min)(x, y);
此方法避免呼叫類似函數的宏,從而允許應用標準 C 版本。
以上是為什麼在將 std::min/max 與 #define NOMINMAX 一起使用時會出現錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!