나는 부스트 :: signals2을 사용하고 있습니다 : 신호를 GUI가 수준 내에서 다음과 같이 :특정 클래스가 신호 2 콜백 :: 부스트의 유형으로
class GuiElement {
//...
typedef boost::signals2::signal<void(GuiElement &)> GuiElementSignal;
virtual GuiElementSignal &getSignal() { return signal_; };
}
모든 GUI를 - 클래스는이 상속 클래스를 호출하여 콜백을 등록 할 수 있습니다. Toggle
클래스 예 : I는 특정 클래스의 기능에 액세스 할 SpecificClass
에 GuiElement
캐스팅해야하는 콜백 함수마다 내부
toggle.getSignal().connect([](lx::GuiElement &el) {
// cast to access toggle specific functions
state = static_cast<lx::Toggle &>(el).state();
cout << state << endl;
});
. 나는이 번지는 현상을 방지하고 콜백 서명을 선언하고 싶습니다 : toggle.getSignal().connect([](lx::Toggle &el) {...
T 클래스로 대체 typedef boost::signals2::signal<void(T &)> GuiElementSignal
같은과 템플릿이 실현 할 수있는 방법이 있나요?
더 나은 제목에 대한 제안이있는 분이라면 변경하고 싶습니다. – 0ax1