, § 26.2/2:क्यों सी ++ अनिवार्य है कि जटिल केवल फ्लोट, डबल, या लंबे डबल के लिए तत्काल हो?
से
float
,double
याlong double
अनिर्दिष्ट है अन्य किसी भी प्रकार के लिए टेम्पलेटcomplex
instantiating का प्रभाव।
मानक लेखक स्पष्ट रूप से इस प्रतिबंध को क्यों जोड़ देंगे? इससे यह अनिर्दिष्ट हो जाता है, उदाहरण के लिए, यदि आप complex<int>
या complex<MyCustomFixedPointType>
बनाते हैं और कृत्रिम प्रतिबंध की तरह लगता है तो क्या होता है।
क्या इस सीमा का कोई कारण है? यदि आप अपने खुद के कस्टम प्रकार के साथ complex
को तुरंत चालू करना चाहते हैं तो क्या कोई कामकाज है?
मैं मुख्य रूप से this earlier question की वजह से इस सवाल का, जिसमें ओ पी क्यों abs
complex<int>
के लिए विचित्र आउटपुट दे रहा था के रूप में उलझन में था पूछ रहा हूँ। उस ने कहा, यह अभी भी काफी समझ में नहीं आता है कि हम निश्चित रूप से complex
संख्याओं को निश्चित-बिंदु प्रकारों, उच्च परिशुद्धता वास्तविक संख्याओं, आदि
मुझे आपके पिछले उत्तर को देखने के बाद हंसना पड़ा, लेकिन यह वास्तव में एक अच्छा सवाल है। – chris
@ क्रिस- मुझे उस उत्तर को उच्च स्तर का कारण देने में सक्षम होने के बिना बुरा लगा। मैं आमतौर पर कह रहा हूं कि यह एक्स, वाई, और जेड के कारण सी ++ का एक विचित्र एज केस है, लेकिन इस बार मुझे नहीं पता कि क्या हो रहा है। – templatetypedef
"मानकीकरण जटिल पर समिति पर एक दशक से अधिक समय तक चर्चा की गई है और कम से कम एक विक्रेता से इसका समर्थन करने के लिए महत्वपूर्ण प्रतिरोध मौजूद है।" http://lists.cs.uiuc.edu/pipermail/cfe-dev/2012-March/020398।एचटीएमएल –