नीचे के सदस्य के रूप unique_ptr साथ वर्ग शरीर में घोषित कोड की minimalist समस्या है। मेरी आवश्यकता के लिए, मुझे ~B()
का शरीर स्पष्ट रूप से परिभाषित करने की आवश्यकता है।संकलक त्रुटि जब नाशक एक ही कक्षा
मैं उसी श्रेणी में unique_ptr
सह-विद्यमान के साथ विनाशक के शरीर को कैसे परिभाषित कर सकता हूं?
नोट: कोई लाभ नहीं हुआ प्रतिलिपि & चाल निर्माता की = default
संस्करणों को परिभाषित करने की कोशिश की। मेरे असली कोड में, unique_ptr<int>
unique_ptr<forward_declared_class>
है। SO में इस समस्या का पता नहीं लगा सका, हालांकि मुझे यकीन है कि यह उपस्थित होना चाहिए। डुप्ली के रूप में चिह्नित करने के लिए स्वतंत्र महसूस करें।
घोषित आगे होने से समस्या के लिए प्रासंगिक है - विश्वसनीय रूप से 'हटाएं' को कॉल नहीं कर सकता (यानी एक दृश्य विनाशक के बिना 'std :: default_deleter' को तत्काल नहीं कर सकता)। – milleniumbug
यह प्रश्न देखें http://stackoverflow.com/questions/6012157/is-stdunique-ptrt-required-to-now-the-full-definition-of-t – milleniumbug
m_pB को nullptr असाइन करने का कोई कारण नहीं है। –