मैं सोच रहा हूँ कि जब संकलन मैं एक त्रुटि मिलती है:सी ++ वापसी स्थिरांक unique_ptr
const std::unique_ptr<int> get() {
return std::make_unique<int>(10);
}
int main() {
const std::unique_ptr<int> value = get();
return EXIT_SUCCESS;
}
मैं निम्नलिखित त्रुटि मिलती है:
main.cpp: In function ‘int main()’:
main.cpp:10:44: error: use of deleted function ‘std::unique_ptr<_Tp, _Dp>::unique_ptr(const std::unique_ptr<_Tp, _Dp>&) [with _Tp = int; _Dp = std::default_delete<int>]’
const std::unique_ptr<int> value = get();
यह सही ढंग से संकलित जब मैं get
हस्ताक्षर से const
को दूर ।
क्या निरंतर unique_ptr को वापस करने का कोई तरीका है?
क्या वास्तविक 'std :: unique_ptr' ऑब्जेक्ट स्थिर होना चाहिए, या इसके द्वारा इंगित डेटा? –
हां, मेरा मतलब है कि वास्तविक 'std :: unique_ptr' ऑब्जेक्ट स्थिर होना चाहिए। – jean553
आपको डेटा के निरंतर सूचक की आवश्यकता क्यों होगी जिसे बदला जा सकता है? वह अजीब है। –