请问 为什么会发生这样错误呢
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 &” mapkey 是个迭代器。。其本质就是一个容器元素所在位置的抽象概念。能给set插入一个迭代器嘛, 明显不能。。
( *it ).insert( *mapkey );
页:
[1]