Sau đây là chương trình C++ sử dụng vùng chứa vector STL. Chỉ muốn biết tại sao hàm display() không in nội dung vectơ lên màn hình. Nếu hiển thị dòng size() được nhận xét, hàm display() hoạt động tốt.Hiển thị nội dung của vùng chứa vector trong C++
#include <iostream>
#include <vector>
using namespace std;
void display(vector<int> &v)
{
for(int i = 0; i < v.size(); i++)
{
cout << v[i] << " ";
}
cout << "\n" << endl;
}
int main()
{
vector<int> v;
cout << "Size of Vector=" << v.size() << endl;
//Putting values into the vector
int x;
cout << "Enter five integer values" << endl;
for(int i; i<5; i++)
{
cin >> x;
v.push_back(x);
}
//Size after adding values
cout << "Size of Vector=" << v.size() << endl;
//Display the contents of vector
display(v);
v.push_back(6);
//Size after adding values
cout << "Size of Vector=" << v.size() << endl;
//Display the contents of vector
display(v);
}
Output:
Size of Vector=0
Enter five integer values
1
2
3
4
5
Size of Vector=5
Size of Vector=6
khởi tạo các biến của bạn! 'int i = 0' – YXD
Khi bạn lặp qua vectơ của mình để hiển thị, bạn rõ ràng muốn dừng ở cuối. Nhưng bạn muốn bắt đầu * ở đâu? :) (PS cho phép tất cả các cảnh báo trong trình biên dịch của bạn có thể đã bắt gặp lỗi này cho bạn) – Hurkyl
Bạn thực sự nên khởi tạo biến lặp của bạn ala 'int i = 0; 'Rất nguy hiểm khi cho rằng C++ đã giúp bạn và khởi tạo chúng thành '0'. – Josh