El siguiente es un programa C++ que utiliza el contenedor vectorial STL. Solo quería saber por qué la función de visualización() no imprime los contenidos vectoriales en la pantalla. Si la línea de tamaño() está comentada, la función de pantalla() funciona bien.Mostrar el contenido de un contenedor vectorial en 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);
}
Salida:
Size of Vector=0
Enter five integer values
1
2
3
4
5
Size of Vector=5
Size of Vector=6
inicializar las variables! 'int i = 0' – YXD
Cuando iteraba a través de su vector para visualizar, claramente quería detenerse al final. Pero, ¿dónde querías * comenzar *? :) (PS habilitando todas las advertencias en tu compilador podría haber detectado este error) – Hurkyl
Realmente debes inicializar tus variables de iterador ala 'int i = 0;' Es muy peligroso asumir que C++ te ha hecho un favor e inicializado ellos a '0'. – Josh