为啥不能比较两个 int 类型变量的值? [复制]
Posted
技术标签:
【中文标题】为啥不能比较两个 int 类型变量的值? [复制]【英文标题】: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 类型变量的值。非常感谢。
我是新来的,如果我的帖子或布局等有任何问题,请告诉我我会更改它。非常感谢。
【问题讨论】:
index
在 for()
循环内声明。它在外面是看不见的
谢谢!现在说得通了。
正确识别代码是个好主意。
如果你想删除问题然后点击“删除”——不要编辑它来删除文本。但没有必要采取任何行动
【参考方案1】:
index
变量在 for
循环中声明。它在该范围之外是不可见的。
在for
循环之前声明变量。
【讨论】:
以上是关于为啥不能比较两个 int 类型变量的值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章