C++에서 2 차원 문자열과 같은 것을 쓰고 싶습니다. 오류를 컴파일C++의 2 차원 문자열
vector< vector<string> > table;
int m,n,i,j;
string s;
cin>>n>>m;
for(i=0;i<n;i++) {
for(j=0;j<m;j++) {
cin>>s;
table[i][j] = s;
}
}
cout << "\n\n\n\n";
for(i=0;i<n;i++) {
for(j=0;j<m;j++) {
cout<<table[i][j]<<" ";
}
cout<<"\n";
}
,하지만 난 같은 입력을 입력 할 때 : 나는 함께 시도하지
10 20
.....#..............
.....#..............
.....#..............
.....#..............
######..............
.......###..........
.......#.#..........
.......###...#######
.............#.....#
.............#######
그것은 나에게 세그먼트 오류를 제공합니다. 왜 ? 뭐가 문제 야 ? 어떻게 제대로 작동해야합니까? 고맙습니다.
문제가 발생한 줄을 찾는 한 가지 방법은 'vector :: operator []'대신'vector :: at (size_t)'를 사용하는 것입니다. 예외가 발생하면 예외가 발생합니다. 유효하지 않은 색인이 액세스됩니다. –