此代码始终返回false 我试图通过引用传递拉姆达参数和我有同样的结果 任何提示请使用find_if与矢量对象
vector<int> v1;
v1.push_back(1);
v1.push_back(2);
v1.push_back(3);
v1.push_back(5);
for (int x : v1)
{
auto it = find_if(v1.begin(), v1.end(), [x](int y){ return x == y; });
if (it != v1.end())
return false;
return true;
}
为什么你期望它是真实的?使用调试器 – RiaD
想一想你在这里做什么。在第一次迭代中,'x'将等于'1',它将被找到。然后下一个迭代'x'将会是'2',它将会被找到。等等。向量中的所有值都将被找到,因为它们在向量中。如果发现一个值,你将返回'false'。你在检查重复吗?那么你需要重新考虑你的算法。 –
是的我正在检查重复项目 你能否帮我解决这个问题这是我第一次使用这个功能 –