Tôi khá mới đối với C++ đặc biệt là STL. Tôi đang cố gắng để vượt qua một vector như là đối số cho một chức năng, nhưng nó gây ra các ứng dụng sụp đổ. Tôi đang sử dụng Code :: Blocks và MingW. Đây là một mã đơn giản.Vượt qua một vector làm đối số và sử dụng nó, tại sao nó lại gặp sự cố?
#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;
}
Cảm ơn!
Cảm ơn! Tôi nên tìm hiểu thêm về STL. Tôi đối xử với một vector như là một mảng đơn giản mà dường như là sai! – Physer
@Physer - một vectơ tương tự như một mảng theo nhiều cách. Đọc qua phần cuối của vectơ không tốt hơn/tồi tệ hơn khi đọc qua phần cuối của một mảng. – Flexo
Tôi hiểu ý của bạn là gì. Đây là một đoạn trích của một mã lớn hơn mà tôi đang làm việc. Ban đầu tôi đã cho vectơ một kích thước v (100) và điền nó bằng cách sử dụng một vòng lặp, như v [i] = giá trị; ... – Physer