兼容吉他爱好 发表于 2018-10-29 16:16:43

请问 为什么会发生这样错误呢

vector< set< contestant, sort_ > > subgroup( vector< contestant > &name_list, const int k )
{
        int i = 0;
        vector< set< contestant, sort_ > > group;
        group.resize(k);
        int ii = name_list.size()/k;
        vector< contestant >::iterator mapkey = name_list.begin();
       

        for( vector< set< contestant,sort_ > >::iterator it = group.begin(); it != group.end(); it++ )
        {
                for( i = 0; i < ii; i++, mapkey++ )
                {
                        ( *it ).insert( mapkey ); =》(检查得知是这出现的错误)
                }
        }
        return group;
}
error C2664: “contestant::contestant(const contestant &)”: 不能将参数 1 从“std::_Vector_iterator<_Myvec>”转换为“const contestant &”

风过无痕丶 发表于 2018-10-31 10:13:49

mapkey 是个迭代器。。其本质就是一个容器元素所在位置的抽象概念。能给set插入一个迭代器嘛, 明显不能。。

( *it ).insert( *mapkey );
页: [1]
查看完整版本: 请问 为什么会发生这样错误呢