#include <iostream>
#include <vector>
#include <map>
#include <list>
using namespace std;
class V
{
public:
int value;
V* head;
V()
{
this->value=0;
head=this;
}
};
class unionfindset
{
public:
map<V,vector<V>>*elementmap;
map<vector<V>,vector<V>>*fathermap;
map<vector<V>,int>*sizemap;
unionfindset(list<V> list1)
{
elementmap=new map<V,vector<V>>();
fathermap=new map<vector<V>,vector<V>>();
sizemap=new map<vector<V>,int>();
for(V value: list1)
{
vector<V>element=vector<V>{value};
elementmap->insert(make_pair(value,element));
}
}
};
int main(int argc, char** argv)
{
V v ;
list<V>l ;
l.push_back(v);
unionfindset u(l);
return 0;
}
往elementmap里面存数据就会报错
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- Web Security Loop 2023-03-01 13:56关注
你怎么报错的?是这样吗?
/usr/include/c++/7/bits/stl_pair.h:169:11: error: no matching function for call to ‘std::pair<V, std::vector<V> >::pair(V&, std::vector<V>&)’ first(std::forward<_Args1>(__args1)...), second(std::forward<_Args2>(__args2)...) { }
这是因为在map插入元素时,键类型和值类型不匹配引起的。
你把这个代码elementmap->insert(make_pair(value,element));
替换成
elementmap->insert(make_pair<V,vector<V>>(value,element));
解决 无用评论 打赏 举报
悬赏问题
- ¥15 这个如何解决详细步骤
- ¥15 在微信h5支付申请中,别人给钱就能用我的软件,这个的所属行业是啥?
- ¥30 靶向捕获探针设计软件包
- ¥15 别人给钱就能用我的软件,这个的经营场景是啥?
- ¥15 react-diff-viewer组件,如何解决数据量过大卡顿问题
- ¥20 遥感植被物候指数空间分布图制作
- ¥15 安装了xlrd库但是import不了…
- ¥20 Github上传代码没有contribution和activity记录
- ¥20 SNETCracker
- ¥15 数学建模大赛交通流量控制