c++ - Why does boost::variant not provide operator != -


दो समान boost :: variant उदाहरण a और b , अभिव्यक्ति (a == b) की अनुमति है।

हालांकि (a! = B) को अनिर्धारित लगता है। ऐसा क्यों है?

मुझे लगता है कि यह सिर्फ पुस्तकालय में नहीं जोड़ा गया है बूस्ट.ऑपरेटर्स वास्तव में मदद नहीं करेंगे, क्योंकि किसी भी प्रकार को बढ़ावा :: ऑपरेटर :: इक्विटी_परिणाम से प्राप्त किया गया होता। डेविड पियरे यह कहने का सही है कि आप इसका उपयोग कर सकते हैं, लेकिन आपकी प्रतिक्रिया भी सही है, कि नए ऑपरेटर! = एडीएल द्वारा नहीं मिलेगा, तो आपको एक ऑपरेटर की आवश्यकता होगी।

डी- बूस्ट-यूज़र्स मेलिंग लिस्ट पर यह पूछें।

एफ़ोग्लिया की टिप्पणी से संपादित करें:

सात महीने बाद, और मैं बूस्ट का अध्ययन कर रहा हूं। , और मैं इस चूक की सूचियों के बेहतर स्पष्टीकरण पर ठोकर खाई।

ऑपरेटर == कॉल ऑपरेटर == के लिए मौजूदा संस्करण में वर्तमान में वास्तविक वर्ग इसी तरह कॉलिंग ऑपरेटर! = को भी कॉल करना चाहिए ऑपरेटर! = वर्ग की। (क्योंकि, सैद्धांतिक रूप से, एक वर्ग को a! = B जैसा कोई भी ! (A == b) नहीं है) परिभाषित किया जा सकता है। संस्करण में वर्ग के पास एक ऑपरेटर है! = । (इस पर बहस है कि आप इस धारणा को मेलिंग सूची धागा में बना सकते हैं।)


Comments

Popular posts from this blog

c++ - Linux and clipboard -

What is expire header and how to achive them in ASP.NET and PHP? -

sql server - How can I determine which of my SQL 2005 statistics are unused? -