tratando de inicializar una cadena de un vector. Se supone que debo obtener "hey" como salida. pero obtuve "falla de segmentación". ¿qué hice mal?vector <char> a fallo de segmentación de cadena
//write a program that initializes a string from a vector<char>
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<char> cvec;
cvec[0]='h';
cvec[1]='e';
cvec[2]='y';
string s(cvec.begin(),cvec.end());
cout<<s<<endl;
return 0;
}
Para añadir a la respuesta de Mysticial - 'cvec [0]' (y los otros accesos) no invocan una verificación de límites, y su vector no tiene elementos, por lo que está accediendo a una pieza de memoria que todavía no le ha sido asignada. – birryree