gpt4 book ai didi

c++ - boost::assign::list_of 没有重载函数接受 2 个参数错误

转载 作者:搜寻专家 更新时间:2023-10-31 01:12:45 26 4
gpt4 key购买 nike

为什么会出现错误:Test::Test: no overloaded function takes 2 arguments

class Test
{
public:
Test(const std::vector<int>&)
{
}
};

Test test(boost::assign::list_of(4));

最佳答案

boost::assign::list_of 的实现需要容器类型,在本例中是您的 Test 类,具有一个双参数构造函数,该构造函数采用第一个和最后一个迭代器(也称为范围)来初始化容器。

具体来说,错误来自以下行,在 boost::assign_detail::converter 类的转换方法中返回 Container:

    template< class Container >
Container convert( const Container*, default_type_tag ) const
{
return Container( begin(), end() );
}

hmjd 的解决方法成功的原因是 std::vector 有一个构造函数需要两个迭代器。

关于c++ - boost::assign::list_of 没有重载函数接受 2 个参数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13420987/

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