模板参数的类型无效

时间:2019-08-05 13:28:18

标签: c++ c++11

我的模板有什么问题以及如何解决?给定谓词功能,这应该从Qt-ish容器中删除所有项目。编译器产生错误'std::function': 'T::value_type' is not a valid template type argument for parameter '_Fty'

template <typename T>
void eraseIf( T &container, std::function<bool(T::value_type)> predicate)
{
    auto it = container.begin();
    while( it != container.end() )
    {
        if( predicate( *it ) )
        {
            it = container.erase( it );
        }
        else
        {
            ++it;
        }
    }
}

0 个答案:

没有答案