के लिए काम नहीं करता है क्या कोई ऐसी जगह है जहां मैं इसकी पुष्टि कर सकता हूं? मुझे यकीन नहीं है कि यह जीसीसी या मेरे कोड की समस्या है या नहीं। उदाहरण के लिए, निम्न कोड संकलित नहीं करता है:जीसीसी 4.4/4.5 unique_ptr unordered_set/unordered_map
#include <unordered_set>
#include <memory>
using namespace std;
int main() {
unordered_set<unique_ptr<int> > s;
unique_ptr<int> p(new int(0));
s.insert(move(p));
return 0;
}
त्रुटि संदेश बहुत बड़ा है और मैं यहां नहीं रखना चाहता हूं। जीसीसी संस्करण 4.5.3 है, झंडा संकलित है -std = gnu ++ 0x। 4.4.5 पर भी परीक्षण किया।
ऐसा शायद इसलिए है क्योंकि 'std :: hash'' std :: unique_ptr' के लिए विशिष्ट नहीं है। – Mankarse
@Mankarse इसके लिए एक विशेषज्ञता है, लेकिन भ्रमित रूप से यह 20.7.2.6 स्मार्ट पॉइंटर हैश समर्थन [util.smartptr.hash] (n3290) में दिखाई देता है, 'std :: shared_ptr' के चश्मा के ठीक बाद, कुछ हद तक' std से दूर :: unique_ptr'। –
एनबी आपको 'std :: move'' move' नहीं कहना चाहिए, आप नहीं चाहते कि एडीएल एक अलग फ़ंक्शन ढूंढें। –