मैं क्यूटी निर्माता में स्वत: पूर्ण std::vector
के लिए काम कैसे कर सकते हैं std :: वेक्टर तत्वों के लिए काम नहीं करता है? क्या यह काम करना नहीं सामान्य है?क्यूटी निर्माता का स्वत: पूर्ण (IntelliSense)
उदाहरण के लिए, एक ताजा नई परियोजना पर, मैं एक struct foo { int bar; };
पैदा करते हैं। अगर मैं foo की एक QVector बनाने के लिए, IntelliSense/स्वत: पूर्ण ठीक काम करता है:
लेकिन एक std::vector<foo> v2
कुछ नहीं के लिए होता है के बाद मैं v2[0].
मैं में डॉट क्यूटी निर्माता 3.3 पर दबाएँ। 0, विजुअल स्टूडियो कंपाइलर टूल-चेन का उपयोग करके (इसलिए एसटीएल वीएस से आता है, जीसीसी नहीं अगर इससे कोई फर्क पड़ता है)।
संपादित करें: मुझे एक संबंधित बग की सूचना मिली है (हालांकि इसके बारे में इटरेटर) - https://bugreports.qt.io/browse/QTCREATORBUG-1892। मैं इस समस्या को भी पुन: उत्पन्न करता हूं।
संपादित करें 2: मैं एक कस्टम टेम्पलेट वर्ग के साथ परीक्षण किया:
struct bar {
int b;
};
template<class T> struct foo {
T operator [](int a) { return T(); }
};
और यह ठीक काम कर रहा है:
संभव नहीं है। दुर्भाग्यवश, क्यूटी निर्माता के कोड मॉडल में टेम्पलेट्स के साथ समस्याएं हैं। इसे क्लैंग का उपयोग करने के लिए कुछ काम चल रहा था, लेकिन मुझे नहीं पता कि यह कैसे समाप्त हुआ। –
@cassiorenan बीटीडब्ल्यू, क्या यह आपके लिए भी पुनरुत्पादन करता है? – sashoalm
हाँ, यह करता है। मैं क्यूटी निर्माता 3.3.2 बीटीडब्लू का उपयोग कर रहा हूं, आपका परीक्षण त्रुटिपूर्ण है। ऑपरेटर को लागू करने का प्रयास करें [] जो कि बस एक देता है। –