3

Boost.Statechartを使用してステートマシンを実装する際にsimple_state、コンストラクターからの外部コンテキストにアクセスしようとすると問題が発生しました。のコメントは私にsimple_state.hpp教えてくれます:

    // This assert fails when an attempt is made to access an outer 
    // context from a constructor of a state that is *not* a subtype of
    // state<>. To correct this, derive from state<> instead of
    // simple_state<>.

コンストラクターから外部コンテキストにアクセスできることは別として、私の状態の基本クラスとしてではstate<>なく、使用することにはどのような違いや影響がありますか?simple_state<>

4

1 に答える 1

5

simple_state <>派生コンストラクターからは実行できない、state<>派生コンストラクターから実行できることは他にもたくさんあります。状態クラスのドキュメントにリストがあります。イベントを投稿することは、州から派生することの大きなメリットであることがわかりました<>。

使用してからしばらく経ちますが、state<>はsimple_state<から派生しているため、stateから派生したクラスごとに転送コンストラクターを実装する必要があることを除いて、影響があったことを覚えていません。 >。

于 2011-06-30T15:51:57.870 に答える