gpt4 book ai didi

c++ - vector erase-remove 成语编译错误

转载 作者:行者123 更新时间:2023-11-28 00:15:36 25 4
gpt4 key购买 nike

我有以下 removeOneParam(Parameter* param)来自这个 answer 的代码:

class A
{
private:
std::vector<Parameter*> params;
public:
void removeOneParam(Parameter* param)
{
params.erase(std::remove(params.begin(), params.end(), param), params.end());
}
}

但是我得到以下编译错误:

error: cannot convert ‘std::vector<Parameter*>::iterator {aka __gnu_cxx::__normal_iterator<Parameter**, std::vector<Parameter*> >}’ to ‘const char*’ for argument ‘1’ to ‘int remove(const char*)

我如何使用该答案来处理我的案例?

最佳答案

您的编译器正在选择 std::remove 的版本在cstdio header ,而不是您想要的那个。你可能错过了 #include <algorithm> .

关于c++ - vector erase-remove 成语编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30531540/

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