此代碼始終返回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'。你在檢查重複嗎?那麼你需要重新考慮你的算法。 –
是的我正在檢查重複項目 你能否幫我解決這個問題這是我第一次使用這個功能 –