c++ - Why does boost::variant not provide operator != -
दो समान boost :: variant
उदाहरण a
और b
, अभिव्यक्ति (a == b)
की अनुमति है।
हालांकि (a! = B)
को अनिर्धारित लगता है। ऐसा क्यों है?
मुझे लगता है कि यह सिर्फ पुस्तकालय में नहीं जोड़ा गया है बूस्ट.ऑपरेटर्स वास्तव में मदद नहीं करेंगे, क्योंकि किसी भी प्रकार को बढ़ावा :: ऑपरेटर :: इक्विटी_परिणाम से प्राप्त किया गया होता। डेविड पियरे यह कहने का सही है कि आप इसका उपयोग कर सकते हैं, लेकिन आपकी प्रतिक्रिया भी सही है, कि नए ऑपरेटर! = एडीएल द्वारा नहीं मिलेगा, तो आपको एक ऑपरेटर की आवश्यकता होगी।
डी- बूस्ट-यूज़र्स मेलिंग लिस्ट पर यह पूछें।
एफ़ोग्लिया की टिप्पणी से संपादित करें:
सात महीने बाद, और मैं बूस्ट का अध्ययन कर रहा हूं। , और मैं इस चूक की सूचियों के बेहतर स्पष्टीकरण पर ठोकर खाई।
ऑपरेटर ==
कॉल ऑपरेटर ==
के लिए मौजूदा संस्करण में वर्तमान में वास्तविक वर्ग इसी तरह कॉलिंग ऑपरेटर! =
को भी कॉल करना चाहिए ऑपरेटर! =
वर्ग की। (क्योंकि, सैद्धांतिक रूप से, एक वर्ग को a! = B
जैसा कोई भी ! (A == b)
नहीं है) परिभाषित किया जा सकता है। संस्करण में वर्ग के पास एक ऑपरेटर है! =
। (इस पर बहस है कि आप इस धारणा को मेलिंग सूची धागा में बना सकते हैं।)
Comments
Post a Comment