C++ 调整向量向量的大小
下面是一段用于调整向量大小的代码。每行大小的输出打印为0?即使我将每一行的大小调整为W,为什么会发生这种情况C++ 调整向量向量的大小,c++,vector,operator-precedence,comma-operator,C++,Vector,Operator Precedence,Comma Operator,下面是一段用于调整向量大小的代码。每行大小的输出打印为0?即使我将每一行的大小调整为W,为什么会发生这种情况 int main() { int H,W,i; cin >> H,W; // H=3,W=5; vector<vector<int> >v; v.resize(H); for(i=0;i<H;i++) v[i].resize(W); cout << v[1].size
int main() {
int H,W,i;
cin >> H,W; // H=3,W=5;
vector<vector<int> >v;
v.resize(H);
for(i=0;i<H;i++)
v[i].resize(W);
cout << v[1].size(); // Output is printed 0
}
intmain(){
inth,W,i;
cin>>H,W;//H=3,W=5;
向量;
v、 调整大小(H);
因为(i=0;icin>>H,W;
没有达到您期望的效果。根据,它与(cin>>H),W;
相同,第二个表达式W
实际上没有任何作用,因此W
根本没有初始化。任何使用它都会导致错误
将其更改为cin>>H>>W;
顺便说一句:Changecoutcin>>H,W
并没有做你认为应该做的事cin>>H,W;//H=3,W=5;
这个评论是不正确的,你可以自己打印出H
和W
来验证它。我投票结束这个问题,作为离题-调试器告诉你什么?