próbuje zainicjować ciąg znaków z wektora. Mam otrzymać "hej" jako wynik. ale dostałem "błąd segmentacji". co zrobiłem źle?wektor <char> na ciąg segmentacji błędu
//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;
}
Aby dodać odpowiedź Mysticial za - 'cvec [0]' (i inne wejścia) nie powołuje się na kontrolę granic, a twój wektor nie ma elementów, więc uzyskujesz dostęp do części pamięci, która nie została jeszcze przydzielona. – birryree