एसटीडी प्रकारों के लिए उपयोगकर्ता परिभाषित कटौती गाइड

Aug 15 2020

किसी कारण से वहाँ अभी भी है उम्मीद की कमी CTAD के लिए std::initializer_listमें बजना :

std::initializer_list l{1,2,3}; // error in clang

निम्नलिखित की तरह उपयोगकर्ता-परिभाषित मार्गदर्शिका जोड़ना समस्या को ठीक कर सकता है :

namespace std {
    template<class T> 
    initializer_list(const initializer_list<T>&) -> initializer_list<T>; 
} 

लेकिन क्या इसे std::प्रकारों के लिए CTAD के लिए उपयोगकर्ता-परिभाषित मार्गदर्शिका जोड़ने की अनुमति है ?

जवाब

5 Oliv Aug 15 2020 at 17:17

एक मानक पुस्तकालय प्रकार में कटौती गाइड जोड़ना यूबी [नामस्थान std] uction4.4 है ।

यदि यह घोषित किया जाता है तो C ++ प्रोग्राम का व्यवहार अपरिभाषित है: [...]

  • किसी भी मानक पुस्तकालय वर्ग टेम्पलेट के लिए एक कटौती गाइड।