Rumah > Artikel > pembangunan bahagian belakang > Bagaimana Menggunakan std::min/max dengan #define NOMINMAX?
Cara Menggunakan std::min/max dengan #define NOMINMAX
Untuk menggunakan fungsi perpustakaan standard std::max dan std: :min semasa mentakrifkan makro NOMINMAX, ikut langkah berikut:
1. Tentukan NOMINMAX dalam Semua Fail Di Mana std::min/max Digunakan
Untuk memastikan makro berkuat kuasa, anda mesti mentakrifkan #define NOMINMAX dalam semua fail yang anda akan gunakan std::max dan std: :min. Ini menghalang perlanggaran dengan fungsi maks dan min terbina dalam Windows.
2. Gunakan Tanda Kurung untuk Memintas Pengembangan Makro
NOMINMAX mentakrifkan std::min dan std::max sebagai makro. Jika anda menghadapi ralat yang disebutkan di atas, ini bermakna prapemproses mentafsir fungsi ini sebagai makro. Untuk memintas ini, bungkus nama fungsi dalam kurungan:
(std::min)(x, y); // For std::min (std::max)(x, y); // For std::max
Dengan melampirkan nama fungsi dalam kurungan, prapemproses akan menganggapnya sebagai panggilan fungsi dan bukannya pengembangan makro.
Nota: Penyelesaian ini agak menyusahkan, kerana ia memerlukan tanda kurungan std::min dan std::max setiap kali anda menggunakannya. Walau bagaimanapun, ini adalah penyelesaian untuk isu khusus ini.
Atas ialah kandungan terperinci Bagaimana Menggunakan std::min/max dengan #define NOMINMAX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!