मैं boost::tribool की खोज कर रहा हूं और निम्नलिखित व्यवहार से हैरान था।बूस्ट :: tribool: अजीब व्यवहार, या बग?
{
using namespace boost;
boost::tribool t(indeterminate);
assert(t==indeterminate); // This assertion fails!
}
हालांकि, अगर मैं यह कर, ज़ोर से गुजरता है।
assert(indeterminate(t));
किसी भी मामले में कोई संकलक चेतावनी या त्रुटियां नहीं। किसी के पास यह अच्छी व्याख्या है कि यह क्यों होना चाहिए ??
और चूंकि अनिश्चित रूप से उलझन में उलझन में परिवर्तित हो जाता है, तो जोर विफल हो जाता है। –
"दो अनिश्चित मूल्यों की तुलना करने का परिणाम अनिश्चित है"। आउच। मुझे लगता है कि एक स्तर पर समझ में आता है, लेकिन यह मेरे लिए सहज नहीं है। – Roddy
@ रोडी, ट्रिब्यून :: ऑपरेटर ==() के कार्यान्वयन को देखें क्या आप तैयार हैं? यह आदिवासी लौटाता है! मुझे उस व्यक्ति से नफरत है जो इस कोड को बढ़ावा देने के लिए सबमिट करता है: अच्छे प्रश्न के लिए डी +1, यह सहज ज्ञान युक्त व्यवहार नहीं है! –