1

我正在尝试使用in_state_reaction. 奇怪的是,调用后似乎没有执行此反应功能process_event ()。我改成in_state_reactioncustom_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
4

1 回答 1

2

in_state_reaction不是自定义反应,所以react不会被调用!状态反应意味着你想调用一些函数并保持在相同的状态。

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

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

于 2013-03-13T10:29:40.857 回答