0
에 unordered_map도 액세스 위반 나는 두 typedefs
있습니다 표준 : 설치하다
typedef std::function<void(SDL_Event)> EventCallback;
typedef std::unordered_map<std::string, EventCallback> EventCallbackContainer;
그리고 내 EventManager
클래스
EventCallbackContainer m_eventCallbackContainer;
가 나는를 초기화 할 수있는 방법을 알고 지도와 내가 그것을 이해했을 때 나는 없어야한다. EventManager
에서
std::unordered_map
로를 emplaces, 내가 부르는
addCallback
템플릿 기능을 가지고 있지만 내가처럼 나는 VS 찾고, 액세스 위반을 얻을
std::unordered_map
이
NULL
처럼 보인다보세요.
다음 addCallBack 기능 : 시계 VS
template<class Class>
inline void EventManager::addEventCallback(std::string gameStateID, void(Class::* func)(SDL_Event), Class* instance)
{
EventCallback callback = std::bind(func, instance, std::placeholders::_1);
m_eventCallbackContainer.emplace(gameStateID, callback);
}
나는이 사건이 왜 나 내가 그것을 고칠 수있는 방법을 모르겠습니다. 당신이 더 많은 컨텍스트를 필요로하는 경우
프로젝트 전체 코드베이스 (그것이 코드 검토로 구성 아니지만 보면 너무하지 않으셔도됩니다) : Github with codebase
'this'는 null입니까? – user2357112
한숨, 네, 그렇게 보입니다. –
MY BAD, 문제가 발견되었습니다. 친절하게 답변드립니다. addCallback을 호출하는 내 eventManager 앞에 또 다른 클래스를 초기화하면서 EventManager가 존재하기 전에 호출하는 것을 의미합니다. 감사합니다. –