gpt4 book ai didi

c++ - 如何在数组 vector 上使用 std::find?

转载 作者:太空狗 更新时间:2023-10-29 20:36:36 25 4
gpt4 key购买 nike

我使用的是 Ubuntu 14.04,g++ 4.9.3。下面的代码

std::vector<std::array<int, 3>> a;
a.push_back({2, 3, 1});
a.push_back({1, 3, 4});
a.push_back({3, 1, 2});

auto it = std::find(a.begin(), a.end(), {2, 3, 1});

返回错误

couldn't deduce template parameter ‘_Tp’
std::find(a.begin(), a.end(), {2, 3, 1});
^

经过几次谷歌搜索后,我想出了一个更复杂的方法来使用 std::find_if 和 lambda 函数来解决这个问题,但为什么这段代码不起作用?

最佳答案

你只需要更详细一点。

auto it = std::find(a.begin(), a.end(), std::array<int, 3>{2, 3, 1});

已通过 gcc 5.3.1 验证。不确定您的旧版本 gcc 是否可以处理此问题。

关于c++ - 如何在数组 vector 上使用 std::find?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37625254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com