我正在尝试子类boost :: unordered_map(因此我可以捕获异常,而不会使异常捕获的逻辑混乱我的程序)。我已成功包装了boost :: unordered_map,但我想尝试创建一个子类。
无论如何,我无法确定正确的子类语法。
以下不起作用:
template<typename Key, typename Mapped, typename Hash = boost::hash<Key>,
typename Pred = std::equal_to<Key>,
typename Alloc = std::allocator<std::pair<Key const, Mapped>> >
class unordered_map : public boost::unordered_map<typename Key, typename Mapped, typename Hash = boost::hash<Key>,
typename Pred = std::equal_to<Key>,
typename Alloc = std::allocator<std::pair<Key const, Mapped>> >
{
};
答案 0 :(得分:1)
#include <boost/unordered_map.hpp>
template<typename Key, typename Mapped, typename Hash = boost::hash<Key>,
typename Pred = std::equal_to<Key>,
typename Alloc = std::allocator<std::pair<Key const, Mapped> > >
class my_unordered_map : public boost::unordered_map<Key, Mapped, Hash,Pred,Alloc>
{
};
void main(){
my_unordered_map<int,int> kk;
}