-2
을 나는이 :::지도
enum Screens
{
INVENTORY,
STUFF,
CRAFTING,
GAMESCREEN,
NONE
};
typedef struct s_action
{
s_action() : _screen(NONE), _compartment(NULL){};
Screens _screen;
Compartment *_compartment;
} s_action;
std::map<Screens, std::map<Screens, void (GestionClick::*)(s_action&, s_action&)> > _correlationTable;
GestionClick의 멤버 함수를 호출하기 위해 구문이 무엇입니까?
Screens a;
Screens b;
(*_correlationTable[a][b])(action1, action2);
하지만 내가보기 엔 당신이 경우 (대신 <functional>
헤더에 정의 std::function
(그리고 아마도 std::bind
) (가독성을 위해) 일부 using
선언을 사용하는 것이 좋습니다거야 :
'(GC 것은 * _ correlationTable [_screen1] [_ 화면 2]) (s_action1, s_action2)' – 0x499602D2
나는이 구문 질문 호출 할 것이다, 그것은 접근에 대한 기본적인 이해 더 지도, 및 호출 함수. http://www.cplusplus.com/reference/map/map/operator[]/ 및 http://stackoverflow.com/questions/1043034/what-does-void-mean-in-c-c-and-c를 확인하십시오. – tinkertime