मैं सी ++ विशेष रूप से एसटीएल के लिए बिल्कुल नया हूं। मैं एक वेक्टर को एक समारोह के लिए तर्क के रूप में पारित करने की कोशिश कर रहा हूं, लेकिन यह एप्लिकेशन को क्रैश करने का कारण बनता है। मैं कोड :: ब्लॉक और मिंगडब्ल्यू का उपयोग कर रहा हूं। यहां एक साधारण कोड है।एक वेक्टर को तर्क के रूप में पास करना और इसका उपयोग करना, यह क्यों दुर्घटनाग्रस्त हो जाता है?
#include <iostream>
#include <vector>
using namespace std;
void foo(const vector<int> &v)
{
cout << v[0];
}
int main(){
vector<int> v;
v[0] = 25;
foo(v);
return 0;
}
धन्यवाद!
धन्यवाद! मुझे एसटीएल के बारे में और जानना चाहिए। मैं एक वेक्टर को एक साधारण सरणी के रूप में मानता हूं जो स्पष्ट रूप से गलत है! – Physer
@ फीसर - एक वेक्टर बहुत सारे तरीकों से एक सरणी के समान है। वेक्टर के अंत से पहले पढ़ना एक सरणी के अंत से पहले पढ़ने से बेहतर/खराब नहीं है। – Flexo
मुझे लगता है कि आपका क्या मतलब है। यह एक बड़े कोड का एक अंश है जिस पर मैं काम कर रहा हूं। शुरुआत में मैंने वेक्टर को एक आकार v (100) दिया था और इसे लूप का उपयोग करके पॉप्युलेट किया था, जैसे v [i] = value; ... – Physer