我正在尝试使用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
答案 0 :(得分:1)
in_state_reaction
不是自定义反应,因此不会调用react
!
状态反应意味着您要调用某些函数并保持其处于相同状态。
in_state_reaction<Event1, Context, &Context::doSomething>
如果在编译时无法知道目标状态是什么,请使用自定义反应。