나는 boost :: signals2를 사용하여 특정 조건에서 이벤트를 실행하는 신호를 사용하는 클래스를 생성합니다. 이 클래스에는 RegisterCallback이라는 메서드가 있습니다.부스트 :: signals2 - 인수로 신호 슬롯을 전달
이 함수는 신호의 사용 (단 ARG 같은 이중 으로 보이드 복귀 형이다) 슬롯 형태의 매개 변수를 사용한다.
그러나 signal1 클래스의 소스 파일이 꽤 읽을 수 없기 때문에 메서드 서명에서이 인수를 어떻게 정의해야하는지 잘 모르겠습니다.
그래서 나는 기본적으로이 작업을 수행 할 수 : 여기
myTimer(interval);
myTimer.RegisterCallback(&aCallbackFunction);
이 멤버 신호 :
boost::signals2::signal<void (double)> m_signal;
... 그리고 여기 (uncomplete) 내가 필요한 레지스터 방법
입니다/**
* Register a callback function that will be called when the timer interval elapses.
*/
void RegisterCallback(const boost::signals2::signal1<???????> &slot)
{
m_signal.connect(slot);
}
그 솔루션은 정말 잘 작동. 그것에 대해 조금 더 읽고는, 그러나 경이를 일했다. 감사 –