1

を使おうとしています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
4

1 に答える 1

2

in_state_reactionはカスタム リアクションではreactないため、呼び出されません。インステート リアクションとは、何らかの関数を呼び出して、同じ状態を維持することを意味します。

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

コンパイル時に目的地の状態がわからない場合は、カスタム リアクションを使用します。

于 2013-03-13T10:29:40.857 に答える