【问题标题】:Why can't you compare the value of two int type vairables? [duplicate]为什么不能比较两个 int 类型变量的值? [复制]
【发布时间】: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 类型变量的值。非常感谢。

我是新来的,如果我的帖子或布局等有任何问题,请告诉我我会更改它。非常感谢。

【问题讨论】:

  • indexfor() 循环内声明。它在外面是看不见的
  • 谢谢!现在说得通了。
  • 正确识别代码是个好主意。
  • 如果你想删除问题然后点击“删除”——不要编辑它来删除文本。但没有必要采取任何行动

标签: c++ loops if-statement vector


【解决方案1】:

index 变量在 for 循环中声明。它在该范围之外是不可见的。

for循环之前声明变量。

【讨论】:

    猜你喜欢
    • 2016-03-31
    • 1970-01-01
    • 2016-02-21
    • 1970-01-01
    • 2016-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    相关资源
    最近更新 更多