나는이지도가있는 경우C++ 정렬되지 않은지도에 갖다 두도록 잘못된 인수
std::unordered_map<std::string, int*> sockets; //a map holding all active sockets
나는이 할 수있는 올 방법 :
sockets[_myId]=(int*)lp; //all ok - insert succeeds
을하지만 나는이 작업을 수행 할 수 없습니다
if(!sockets.emplace(_myId,(int*)lp).second) { /*insert failed, act accordingly*/ }
잘못된 인수 ' 후보자는 다음과 같습니다 : ? emplace (# 10000 (...) & & ...) ' 왜 이런 일이 발생하는지 이해할 수 없습니다. 어떤 도움을 Thx.
시도를 (_myId, (int *) lp)) – vadikrobot
@vadikrobot이 경우에는 emplace가됩니다. key와 value라는 두 개의 인수를 취한다. 당신은 삽입을 생각하고 있습니다. –
재생산 할 수 없으며 저에게 좋습니다. 'std :: unordered_map 소켓; bool foo (const char * p, int n) { \t return sockets.emplace (p, & n) .second; }' –