如何使用boost in_state_reaction

时间:2013-03-13 05:33:23

标签: boost boost-statechart

我正在尝试使用in_state_reaction。 奇怪的是,在调用process_event ()之后似乎没有执行反应函数。 我将in_state_reaction更改为custom_reaction,看起来很好。

只想知道如何使其与in_state_reaction一起使用。 我一定是做错了。

我要申请示例代码。在州内没有很多样品。

感谢。

struct Reset : sc::simple_state<Reset, Idle>
{
    Reset() {  }
    ~Reset() {  }


    typedef sc::in_state_reaction<Event1> reactions;


    sc::result react(const Event1 &)
    {
              printf ("In state reaction\n");
        return discard_event();
    } // react

}; // Reset

1 个答案:

答案 0 :(得分:1)

in_state_reaction不是自定义反应,因此不会调用react! 状态反应意味着您要调用某些函数并保持其处于相同状态。

in_state_reaction<Event1, Context, &Context::doSomething>

如果在编译时无法知道目标状态是什么,请使用自定义反应。