【发布时间】:2012-11-21 15:36:12
【问题描述】:
我有这样一套:set<weak_ptr<Node>, owner_less<weak_ptr<Node> > > setName;
它工作正常。但我想将其更改为无序集。但是,当我这样做时,我得到了大约六页的错误。任何想法如何做到这一点?
在浏览了所有错误消息页面后,我发现了可能有帮助的行。
/usr/include/c++/4.7/bits/functional_hash.h:60:7: error: static assertion failed: std::hash is not specialized for this type
/usr/include/c++/4.7/bits/stl_function.h: In instantiation of ‘bool std::equal_to<_Tp>::operator()(const _Tp&, const _Tp&) const [with _Tp = std::weak_ptr<Node>]’:
【问题讨论】:
-
"我有一个这样的集合:set, owner_less >> setName;" 你这是什么意思?
-
@jogojapan 谢谢我已经试过了,但没有帮助。
-
@JoachimPileborg 我只问了五个问题,而且只有一个问题得到了回答,而且是我自己回答的。所以这就是为什么我从来没有接受任何答案。谢谢提醒。
-
你一共有八个问题,其中六个有答案。其中两个问题有多个答案。即使你自己写了答案,你仍然可以接受。
标签: c++ c++11 std unordered-set weak-ptr