"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > #define NOMINMAX के साथ std::min/max का उपयोग करते समय मुझे त्रुटियाँ क्यों मिलती हैं?

#define NOMINMAX के साथ std::min/max का उपयोग करते समय मुझे त्रुटियाँ क्यों मिलती हैं?

2024-12-22 को प्रकाशित
ब्राउज़ करें:521

Why Do I Get Errors When Using std::min/max with #define NOMINMAX?

#define NOMINMAX के साथ std::min/max का उपयोग करना

आपकी main.cpp फ़ाइल के हालिया अपडेट में, आपने निम्नलिखित प्रीप्रोसेसर निर्देश पेश किया:

#define NOMINMAX
#include 
#include 

यह क्रिया आपको अपने कोड के भीतर std::max और std::min फ़ंक्शन का उपयोग करने की अनुमति देती है। हालाँकि, इन कार्यों को अन्य फ़ाइलों में नियोजित करने के बाद के प्रयासों से त्रुटियाँ उत्पन्न होती हैं जैसे:

error C2589: '(' : illegal token on right side of '::'
error C2059: syntax error : '::'

इन अतिरिक्त फ़ाइलों में NOMINMAX को परिभाषित करने के प्रयासों के बावजूद, समस्या बनी रहती है।

समस्या इस तथ्य में निहित है कि NOMINMAX विंडोज़ मिनट के लिए उपनामों को परिभाषित करता है और अधिकतम मैक्रोज़, द्वारा प्रदान किए गए मानक सी संस्करणों को अधिलेखित करते हैं। इसे हल करने के लिए, std::min और std::max कॉल के आसपास कोष्ठक का उपयोग करें:

(std::min)(x, y);

यह दृष्टिकोण फ़ंक्शन को लागू करने से बचाता है- मैक्रोज़ की तरह, मानक C संस्करण लागू करने की अनुमति देता है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3