Skip to content

Instantly share code, notes, and snippets.

@mcelrath
Created October 27, 2015 15:36
Show Gist options
  • Save mcelrath/cb02daaadbd0b01d9677 to your computer and use it in GitHub Desktop.
Save mcelrath/cb02daaadbd0b01d9677 to your computer and use it in GitHub Desktop.
rpcserver.cpp: In function ‘void RPCRunLater(const string&, boost::function<void()>, int64_t)’:
rpcserver.cpp:566:94: error: no matching function for call to ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<RPCTimerBase> >::insert(std::pair<std::__cxx11::basic_string<char>, RPCTimerBase*>)’
deadlineTimers.insert(std::make_pair(name, timerInterface->NewTimer(func, nSeconds*1000)));
^
In file included from /usr/include/c++/5/map:61:0,
from serialize.h:15,
from amount.h:9,
from rpcserver.h:9,
from rpcserver.cpp:6:
/usr/include/c++/5/bits/stl_map.h:612:7: note: candidate: std::pair<typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<std::pair<const _Key, _Tp> >::other>::iterator, bool> std::map<_Key, _Tp, _Compare, _Alloc>::insert(const value_type&) [with _Key = std::__cxx11::basic_string<char>; _Tp = boost::shared_ptr<RPCTimerBase>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<RPCTimerBase> > >; typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<std::pair<const _Key, _Tp> >::other>::iterator = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<RPCTimerBase> > >; std::map<_Key, _Tp, _Compare, _Alloc>::value_type = std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<RPCTimerBase> >]
insert(const value_type& __x)
^
/usr/include/c++/5/bits/stl_map.h:612:7: note: no known conversion for argument 1 from ‘std::pair<std::__cxx11::basic_string<char>, RPCTimerBase*>’ to ‘const value_type& {aka const std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<RPCTimerBase> >&}’
/usr/include/c++/5/bits/stl_map.h:620:9: note: candidate: template<class _Pair, class> std::pair<typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<std::pair<const _Key, _Tp> >::other>::iterator, bool> std::map<_Key, _Tp, _Compare, _Alloc>::insert(_Pair&&) [with _Pair = _Pair; <template-parameter-2-2> = <template-parameter-1-2>; _Key = std::__cxx11::basic_string<char>; _Tp = boost::shared_ptr<RPCTimerBase>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<RPCTimerBase> > >]
insert(_Pair&& __x)
^
/usr/include/c++/5/bits/stl_map.h:620:9: note: template argument deduction/substitution failed:
/usr/include/c++/5/bits/stl_map.h:616:32: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’
template<typename _Pair, typename = typename
^
/usr/include/c++/5/bits/stl_map.h:633:7: note: candidate: void std::map<_Key, _Tp, _Compare, _Alloc>::insert(std::initializer_list<std::pair<const _Key, _Tp> >) [with _Key = std::__cxx11::basic_string<char>; _Tp = boost::shared_ptr<RPCTimerBase>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<RPCTimerBase> > >]
insert(std::initializer_list<value_type> __list)
^
/usr/include/c++/5/bits/stl_map.h:633:7: note: no known conversion for argument 1 from ‘std::pair<std::__cxx11::basic_string<char>, RPCTimerBase*>’ to ‘std::initializer_list<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<RPCTimerBase> > >’
/usr/include/c++/5/bits/stl_map.h:662:7: note: candidate: std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::insert(std::map<_Key, _Tp, _Compare, _Alloc>::const_iterator, const value_type&) [with _Key = std::__cxx11::basic_string<char>; _Tp = boost::shared_ptr<RPCTimerBase>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<RPCTimerBase> > >; std::map<_Key, _Tp, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<RPCTimerBase> > >; std::map<_Key, _Tp, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<RPCTimerBase> > >; std::map<_Key, _Tp, _Compare, _Alloc>::value_type = std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<RPCTimerBase> >]
insert(const_iterator __position, const value_type& __x)
^
/usr/include/c++/5/bits/stl_map.h:662:7: note: candidate expects 2 arguments, 1 provided
/usr/include/c++/5/bits/stl_map.h:673:9: note: candidate: template<class _Pair, class> std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::insert(std::map<_Key, _Tp, _Compare, _Alloc>::const_iterator, _Pair&&) [with _Pair = _Pair; <template-parameter-2-2> = <template-parameter-1-2>; _Key = std::__cxx11::basic_string<char>; _Tp = boost::shared_ptr<RPCTimerBase>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<RPCTimerBase> > >]
insert(const_iterator __position, _Pair&& __x)
^
/usr/include/c++/5/bits/stl_map.h:673:9: note: template argument deduction/substitution failed:
rpcserver.cpp:566:41: note: cannot convert ‘std::make_pair(_T1&&, _T2&&) [with _T1 = const std::__cxx11::basic_string<char>&; _T2 = RPCTimerBase*; typename std::__decay_and_strip<_T2>::__type = RPCTimerBase*; typename std::__decay_and_strip<_Tp>::__type = std::__cxx11::basic_string<char>](timerInterface->RPCTimerInterface::NewTimer(func, (nSeconds * 1000l)))’ (type ‘std::pair<std::__cxx11::basic_string<char>, RPCTimerBase*>’) to type ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<RPCTimerBase> >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<RPCTimerBase> > >}’
deadlineTimers.insert(std::make_pair(name, timerInterface->NewTimer(func, nSeconds*1000)));
^
In file included from /usr/include/c++/5/map:61:0,
from serialize.h:15,
from amount.h:9,
from rpcserver.h:9,
from rpcserver.cpp:6:
/usr/include/c++/5/bits/stl_map.h:688:9: note: candidate: template<class _InputIterator> void std::map<_Key, _Tp, _Compare, _Alloc>::insert(_InputIterator, _InputIterator) [with _InputIterator = _InputIterator; _Key = std::__cxx11::basic_string<char>; _Tp = boost::shared_ptr<RPCTimerBase>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<RPCTimerBase> > >]
insert(_InputIterator __first, _InputIterator __last)
^
/usr/include/c++/5/bits/stl_map.h:688:9: note: template argument deduction/substitution failed:
rpcserver.cpp:566:94: note: candidate expects 2 arguments, 1 provided
deadlineTimers.insert(std::make_pair(name, timerInterface->NewTimer(func, nSeconds*1000)));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment