1不知道为毛的错误
vector<vector<int>> A;
int temp;
A.resize(4);
for ( auto &vec :A)
{
vec.resize(4);
}
for (int i = 0; i < A.size(); i++)
{
for (int j = 0; j < A[i].size(); j++)
{
//cout << A[i].size();
cin >> temp;
//A[i][j] = temp;
A[i].push_back(temp);
}
}
在电脑上运行如上碰到问题:一直输入没有自动跳出,当把A.size(),A[i].size()换成4之后可以运行。
单独输出A[i].size(),和A.size()也是4,很奇怪,做个记号。
换成A[i][j] = temp赋值的时候问题消失???为毛
2.vector subscript out of range问题
出现问题的代码行:
for (int i = 0; i <= A.size(); i++) {
reverse(A[i].begin(), A[i].end());
for (int j = 0; j <= A[i].size(); j++) {
if (A[i][j] == 1)
{
A[i][j] = 0;
}
else {
A[i][j] = 1;
}
}
}
问题:使用下标可能出现的越界。上面判断条件应该是i < A.size()和