간혹 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);