0
테이블 형식으로 값을 포함하는 파일이 있습니다. 파일의 행과 열의 수는 다를 수 있습니다.2 차원 벡터의 분할 오류
33829731.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00
205282038.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00
3021548.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00
203294496.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00
205420417.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00
다음 코드를 사용하여 2 차원 벡터를 사용하여 데이터를 저장하고 있습니다.
ifstream inputCent("file.txt");
std::vector<std::vector<double> > C;
std::vector<double> col(15);
while(!inputCent.eof())
{
for(int i = 0; i < col.size(); i++)
{
inputCent >> col[i];
C[i].push_back(col[i]);
}
}
그러나 이것은 Segmentation fault: 11
입니다. 그러나 만약 내가 std::vector<std::vector<double> > C(15);
이 다음 15 행에 대한 작동처럼 초기화하십시오. 하지만 내가 말했듯이 행의 수가 다를 수 있습니다. C
크기를 초기화해야하는 이유는 무엇입니까? 아니면 내가 뭘 잘못 했니?
알겠습니다. 감사합니다. :) 바보 같은 실수. –