"KEYWORD"키 값과 "클래스 멤버 함수"값을 사용하여 stl 맵을 만들려고합니다. 그러나 컴파일되지 않습니다. 다음은 코드입니다. 아무도 나에게 무엇이 잘못되었는지 알려주실 수 있습니까? 클래스 멤버 함수는 정적이 아닙니다.클래스 멤버 변수가있는 C++ 함수 포인터 맵
typedef std::map<std::string,CmdHandlerPtr> CommandHandlerSet;
typedef std::map<std::string,CmdHandlerPtr>::iterator CommandHandlerSetItr;
주 모든 멤버 함수는 CmdHandlerPtr
의 유형과 일치해야합니다
RemoteHostManager.cpp: In member function `void
RemoteHostManager::InitializeCmdHandlerMap()':
RemoteHostManager.cpp:14: no match for `std::_Rb_tree_iterator<std::pair<const
std::string, void (RemoteHostManager::*)(char*)>, std::pair<const
std::string, void (RemoteHostManager::*)(char*)>&, std::pair<const
std::string, void (RemoteHostManager::*)(char*)>*>& [const char[5]]'
operator
//similar error for other assignments!
문제는 컴파일러를 얻는 것입니까 아니면 컴파일되지 않는 것입니까? – Naveen
무엇이 오류입니까? – Nawaz
@Avinash :'m_CommandSet'의 타입은 무엇입니까? .. 그리고 라인 번호는 어떤 코드 조각과 일치합니까? 그런데'char *'를 맵에서'std :: string'으로 변경 했습니까? – Nawaz