Rumah > Artikel > pembangunan bahagian belakang > Perlukah Saya Mengkurung std::min dan std::max Apabila Menggunakan NOMINMAX?
std::min/max Kekaburan dengan NOMINMAX
Dalam percubaan untuk memanfaatkan std::min dan std::max fungsi dalam projek C yang menyepadukan Windows.h, anda telah memperkenalkan arahan NOMINMAX untuk mengelakkan kemungkinan perlanggaran nama. Walau bagaimanapun, anda telah menghadapi sekatan jalan apabila cuba mengakses fungsi ini dalam fail yang tidak menggunakan NOMINMAX secara langsung.
Untuk menyelesaikan isu ini, Microsoft mencadangkan menggunakan penyelesaian yang tidak lazim:
Kurungkan Nama Fungsi
Dalam fail yang tidak mempunyai NOMINMAX arahan, kelilingi nama fungsi std::min dan std::max dengan kurungan. Sintaks ini, (std::min)(x, y) dan (std::max)(x, y), menghalang pengkompil daripada mentafsirkannya sebagai makro seperti fungsi, yang boleh mengganggu niat anda.
Adalah penting untuk ambil perhatian bahawa penyelesaian ini tidak sesuai dan hanya boleh dianggap sebagai pilihan terakhir. Pendekatan yang betul adalah untuk memastikan NOMINMAX ditakrifkan dalam semua fail yang anda ingin gunakan std::min dan std::max, membolehkan pengkompil menyelesaikan kekaburannya secara konsisten.
Atas ialah kandungan terperinci Perlukah Saya Mengkurung std::min dan std::max Apabila Menggunakan NOMINMAX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!