간혹 event 목적으로 function pointer를 사용하기도 합니다.

그런데 class member 를 function pointer로 사용하고 싶어도

static fuction 형태만 call이 가능하고 class member는 function pointer로 사용할 수 없죠.

찾다보니 c++ STL 에서 지원하네요.

1.STL 함수 포인터 선언

typedef std::function<void(int, int)> event_callback2;

2.class member function을 bind하여 전달

//placeholders는 parameter 수만큼 추가
event_callback2 eventCallback = std::bind(&MyClass::ReDraw, this, std::placeholders::_1, std::placeholders::_2);

//function pointer를 이용한 call 이 가능
eventCallback(1, 2);