0
我試圖找到unordered_map值如下:尋找升壓值unordered_map對象
#include <boost/unordered/unordered_map.hpp>
#include <iostream>
#include <list>
using namespace boost::asio::ip;
using namespace std;
typedef int ApplicationID;
typedef address IPAddress;
typedef list <ApplicationID> APP_LIST;
typedef boost::unordered::unordered_map <IPAddress, APP_LIST> USER_MAP;
USER_MAP user_map;
void function_name()
{
std::pair<IPAddress*, std::size_t> user_ip = managed_shm->find<IPAddress>("USER-IP");
USER_MAP::const_iterator got = user_map.find(user_ip.first);
}
但我得到以下錯誤在find命令,如果user_map:
ipc_module.cpp:147:75: error: no matching function for call to ‘boost::unordered::unordered_map<boost::asio::ip::address, std::list<int> >::find(boost::asio::ip::address*&)’
所以發現有什麼問題?
新編輯:
現在我的新問題,修改後這是當我使用迭代器來獲取相關列表,folllowing:
USER_MAP::iterator got = user_map.find(*user_ip);
if (got == user_map.end())
{}
else
{
APP_LIST list = (APP_LIST) got->second;
list->push_front(*app_id);
}
但我得到以下錯誤:
ipc_module.cpp:162:25: error: base operand of ‘->’ has non-pointer type ‘APP_LIST {aka std::list<int>}’
非常感謝爲了您的答案,我現在修改了新問題。你可以幫幫我嗎? – IoT
新問題是什麼? – tonga
對不起,我忘了提及上面的新編輯 – IoT