c++ - STL: how to overload operator= for <vector>? -


सरल उदाहरण है:

  #include & lt; vector & gt; Int main () {वेक्टर & lt; int & gt; veci; वेक्टर के & lt; डबल & gt; vecd; के लिए (इंट आई = 0; आई & lt; 10; ++ i) {veci.push_back (i); vecd.push_back (i); } Vecd = veci; // & lt; - समस्या]  

मुझे पता होना चाहिए कि यह बात कैसे ओवरलोड ऑपरेटर = है ताकि मैं इस तरह असाइन कर सकता हूं:

  वेक्टर के & lt; डबल & gt; = वेक्टर & lt; int & gt ;;  

मैंने अभी बहुत सारे तरीकों की कोशिश की है, लेकिन हमेशा संकलक त्रुटियों को लौट रहा है ...

क्या इस कोड को बिना इसे बदलने के लिए कोई विकल्प है ? मैं कुछ अतिरिक्त लाइनें लिख सकता हूं, लेकिन मौजूदा वाले को संपादित या हटा नहीं सकता Ty।


ठीक है, मैं देख रहा हूँ। मैं आपको एक और तरीके से पूछता हूं .. क्या इस कोड को बिना इसे बदलने के लिए कोई विकल्प है? मैं कुछ अतिरिक्त लाइनें लिख सकता हूं, लेकिन मौजूदा वाले को संपादित या हटा नहीं सकता Ty।

ऐसा आसान तरीके से क्यों नहीं करें:

  वेक्टर के & lt; डबल & gt; Vecd (veci.begin (), veci.end ());  

या:

  vecd.assign (veci.begin (), veci.end ());  

दोनों बॉक्स के बाहर समर्थित हैं:)


Comments

Popular posts from this blog

c++ - QtQuick: QQmlApplicationEngine failed to load component qrc:/main.qml:23 Invalid attached object assignment -

sql - dynamically varied number of conditions in the 'where' statement using LINQ -

asp.net - getting a value of selected radiobutton in LoadViewState -