मुझे अजीब त्रुटियां दिखाई दे रही हैं जब मेरे सी ++ कोड में न्यूनतम() या अधिकतम() कॉल है। मैं विजुअल सी ++ कंपाइलर्स का उपयोग कर रहा हूं।कोड के साथ अजीब सी ++ त्रुटियां जिनमें न्यूनतम()/अधिकतम() कॉल
उत्तर
चेक अपने कोड windows.h हेडर फाइल और या तो अपने कोड या अन्य तीसरे पक्ष के हेडर के साथ है, तो अपने स्वयं के मिनट()/अधिकतम() परिभाषाएं हैं। यदि हाँ, तो इस तरह NOMINMAX की एक परिभाषा के साथ अपने windows.h शामिल किए जाने के पहले जोड़ें:
#define NOMINMAX
#include <windows.h>
ओह ... गुंजाइश यह, दोस्त: std::min()
, std::max()
।
तुम अब भी या पूर्वप्रक्रमक अभी भी मिनट और अधिकतम विस्तार होगा NOMINMAX #define की जरूरत है। – Ferruccio
मैंने इसे वर्षों में उपयोग नहीं किया है, लेकिन मेमोरी बूस्ट से न्यूनतम और अधिकतम भी संभवतः असाइन किया जाता है?
एक और संभावना साइड इफेक्ट्स से हो सकती है। अधिकांश न्यूनतम/अधिकतम मैक्रोज़ में पैरामीटर कई बार शामिल होंगे और जो भी आप उम्मीद करते हैं वह नहीं कर सकते हैं। त्रुटियां और चेतावनियां भी उत्पन्न की जा सकती हैं।
max(a,i++) expands as ((a) > (i++) ? (a) : (i++))() विस्तार में समस्याओं से बचने के अगर आप इसे सूत्रों के साथ कहते हैं। अधिकतम (ए, बी + स)afterwards i is either plus 1 or plus 2
ईमानदारी का विस्तार करके देखें जब यह न्यूनतम करने के लिए आता है/अधिकतम, मैं यह सबसे अच्छा लगता है बस परिभाषित करने के लिए अपने ही:
#define min(a,b) ((a) < (b) ? (a) : (b))
#define max(a,b) ((a) >= (b) ? (a) : (b))
कौन सा, स्पष्ट रूप से, मुसीबत के लिए पूछ रहा है। सी ++ में, std :: swap' का उपयोग कर का उपयोग 'और अपने खुद के स्वैप बारे में जब आप डिफ़ॉल्ट से बेहतर कर सकते। सी में, बहुत पट्टे पर लिखने '#define मिनट (ए, बी) ((क) <(ख) (क): (ख))' और यह सुनिश्चित करें आप कुछ भी से कॉल करने की नहीं है दुष्प्रभावों के साथ बनाने, क्योंकि आपके पास एकाधिक मूल्यांकन होंगे। –
के बाद से विंडोज एक समारोह शैली के रूप में इस को परिभाषित करता है मैक्रो, निम्नलिखित वैकल्पिक हल उपलब्ध है:
int i = std::min<int>(3,5);
यह काम करता है क्योंकि मैक्रो min()
केवल विस्तृत किया जाता है min
(
द्वारा पीछा किया जाता है, और नहीं है जब यह <
द्वारा पीछा किया है।
- 1. थोड़ा अजीब सी ++ कोड
- 2. कुछ "अजीब" सी कोड
- 3. "अजीब" फ़ंक्शन कॉल के साथ कोई प्रोग्रामिंग भाषा?
- 4. सी ++ मैगपैक: लिंकर त्रुटियां
- 5. सी # - - कोड प्रसंस्करण आदेश अजीब व्यवहार
- 6. बाइसन (yyerror) में अजीब सी कोड
- 7. पायथन के मशीनीकरण मॉड्यूल के साथ त्रुटियां
- 8. सी #: जेनेरिक प्रकार जिनमें एक निर्माता है?
- 9. ऐप्पल की पहुंच योग्यता फ़ाइलों में अजीब त्रुटियां
- 10. सी ++ जावा कोड कॉल कर सकते हैं?
- 11. अजीब सी ++ वाक्यविन्यास?
- 12. औसत() के साथ अजीब व्यवहार?
- 13. सी पुस्तकालयों में त्रुटिपूर्ण त्रुटियां?
- 14. सी ++ टेम्पलेट "क्लास टाइप" त्रुटियां
- 15. अजीब सी ++ प्रदर्शन अंतर?
- 16. सी #, अजीब अनुकूलन
- 17. आप सी कोड से पायथन कोड कैसे कॉल करते हैं?
- 18. mediaplayer के साथ अजीब व्यवहार और तलाश
- 19. सी ++ faq लाइट में त्रुटियां?
- 20. सी ++ कोड निर्भरता/कॉल-ग्राफ "दर्शक"?
- 21. अजीब सी कार्यक्रम
- 22. अजीब सी # पथ मुद्दा
- 23. विम में अजीब समस्या, कोड
- 24. अजीब घोषणा (टेम्पलेट्स)। सी ++
- 25. संकलन समय पर अज्ञात पैरामीटर के साथ सी ++ फ़ंक्शन कॉल
- 26. सी अजीब सरणी व्यवहार
- 27. स्टैक्ड फ़िल्टर() कॉल का अजीब व्यवहार
- 28. विंडोज सी सिस्टम कमांड में स्पेस के साथ कॉल करें
- 29. उद्देश्य सी अजीब वाक्य रचना
- 30. जीसीसी के साथ अजीब पूर्णांक व्यवहार -O2
यह आधिकारिक तौर पर स्टैक ओवरफ़्लो पर oddest सवाल – eplawless