【发布时间】:2018-12-30 18:43:21
【问题描述】:
我在学习 c++ 时只是在编译一些代码,并在编译器上达到了这一点。
上下文:对于此代码,它采用一维向量 v 和值 n,然后尝试在 v 中查找此值 n。如果找到则返回它的索引,如果没有则返回 -1。
int mfind(int n, const std::vector <int>& v){
int a = v.size();
for(int i=0; v[i]!=n && i<a; i++){
int index = i;
}
if(index < a){
return index;
}
else{
return -1;
}
}
Index 和 i 都是整数,在 if 条件下比较时会输出错误:
错误:“索引”未在此范围内声明。
是不是你不能比较两个整数的值?如果此错误还有其他原因,我很想知道为什么以及如何比较两个不同 int 类型变量的值。非常感谢。
我是新来的,如果我的帖子或布局等有任何问题,请告诉我我会更改它。非常感谢。
【问题讨论】:
-
index在for()循环内声明。它在外面是看不见的 -
谢谢!现在说得通了。
-
正确识别代码是个好主意。
-
如果你想删除问题然后点击“删除”——不要编辑它来删除文本。但没有必要采取任何行动
标签: c++ loops if-statement vector