Dalam kemas kini terbaru pada fail main.cpp anda, anda memperkenalkan arahan prapemproses berikut:
#define NOMINMAX #include <Windows.h> #include <algorithm>
Tindakan ini membolehkan anda menggunakan fungsi std::max dan std::min dalam kod anda. Walau bagaimanapun, percubaan berikutnya untuk menggunakan fungsi ini dalam fail lain menghasilkan ralat seperti:
error C2589: '(' : illegal token on right side of '::' error C2059: syntax error : '::'
Walaupun percubaan untuk mentakrifkan NOMINMAX dalam fail tambahan ini, isu ini berterusan.
Isunya terletak pada fakta bahawa NOMINMAX mentakrifkan alias untuk Windows min dan makro maks, menggantikan versi C standard yang disediakan oleh
(std::min)(x, y);
Pendekatan ini mengelak daripada menggunakan makro seperti fungsi, membenarkan versi C standard digunakan.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat Semasa Menggunakan std::min/max dengan #define NOMINMAX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!