我想用boost::bind
創建一個boost::function
插入一個新的鍵值對到一個boost::unoredered_map
,但我得到了一些編譯錯誤。下面boost :: bind並插入一個boost :: unordered_map
錯誤看起來像bind
找不到unordered_map::insert
正確的過載。在這種情況下,我指定了正確的重載,但這次不起作用。你知道這是什麼嗎?
../include2/llve_clorder_id.h:32: error: no matching function for call to
'bind(<unresolved overloaded function type>,
boost::unordered_map<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, boost::hash<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::equal_to<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >&, const
boost::reference_wrapper<const std::pair<const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > >)'
請問您可以指定您的編譯器版本嗎?一些不懂部分專業化的較老的編譯器不能接受指向函數成員的指針作爲「boost :: bind」的第一個參數。 – 2012-03-08 18:23:12