gpt4 book ai didi

c++ - 重载调用 *** <未解析的重载函数类型>)' 不明确

转载 作者:行者123 更新时间:2023-11-28 05:34:30 24 4
gpt4 key购买 nike

请帮我解决这个错误

template <typename Inputlterator, typename Outputlterator, typename Predicate>
Outputlterator copy_if( Inputlterator begin, Inputlterator end, Outputlterator destBegin, Predicate p)
{
return remove_copy_if(begin, end,destBegin, not1( ptr_fun( p ) ) );
}
template <class T> bool is_not_3( T val ) {
return val != 3;
}
void foo( ) {
vector<int> v;
v.push_back( 1 );
v.push_back( 2 );
v.push_back( 3 );
copy_if( v.begin( ), v.end( ), ostream_iterator<int>( cout, " " ), is_not_3<int> );
}

我收到一条错误消息: 错误:调用重载的 'copy_if(std::vector::iterator, std::vector::iterator, std::ostream_iterator, )' 是不明确的

最佳答案

重写这条语句

copy_if( v.begin( ), v.end( ), ostream_iterator<int>( cout, " " ), //...);

喜欢

::copy_if( v.begin( ), v.end( ), ostream_iterator<int>( cout, " " ), //...);
^^^

否则你的函数与标准算法冲突 std::copy_if

问题是因为你使用了derictive导致的

using namespace std;

请注意您的代码片段中的函数调用在语法上未完成。您忘记指定最后一个参数。

关于c++ - 重载调用 *** <未解析的重载函数类型>)' 不明确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38638574/

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