C++ 访问另一个else语句中声明的向量
我有一个依赖于操作码的if/else if语句,第一个选项创建一个向量,而第二个选项修改它,所以我决定定义我将用于向量的结构,并在第一个语句中声明它,但是这个选项不允许我从其他任何地方修改它,有没有办法在第二个选项中更改向量中的某些值,并在第一个选项中声明C++ 访问另一个else语句中声明的向量,c++,C++,我有一个依赖于操作码的if/else if语句,第一个选项创建一个向量,而第二个选项修改它,所以我决定定义我将用于向量的结构,并在第一个语句中声明它,但是这个选项不允许我从其他任何地方修改它,有没有办法在第二个选项中更改向量中的某些值,并在第一个选项中声明 if(op == "new"){ cin >> size; vec<int> v(size); } else if(op == "mod"){ int p
if(op == "new"){
cin >> size;
vec<int> v(size);
} else if(op == "mod"){
int pos, val;
cin >> pos >> val;
v[pos] = val;
}
if(op==“新建”){
cin>>尺寸;
vecv(大小);
}否则如果(op==“mod”){
int pos,val;
cin>>pos>>val;
v[pos]=val;
}
您无法访问超出其范围的向量。将其向上移动,使其在两个分支中都可以访问。假设它有一个默认构造函数:
vec<int> v;
if(op == "new"){
cin >> size;
// resize it or assign a new one to v
} else if(op == "mod"){
int pos, val;
cin >> pos >> val;
v[pos] = val;
}
vecv;
如果(op==“新”){
cin>>尺寸;
//调整其大小或为v指定一个新的
}否则如果(op==“mod”){
int pos,val;
cin>>pos>>val;
v[pos]=val;
}
如果这实际上是代码> STD::向量 >考虑<代码> ReSeffe<代码>,而不是<代码> Resisid和
对于稀疏向量(您似乎添加了<代码> Val<代码> >随机<代码> POS < /代码>),考虑使用<代码> STD::unOrdEdEdMult。
您不能这样做。这看起来像。你真正想做什么?好的,谢谢你的回答