クラスFsmでtypedef F const * state_ptr_const_t;
を宣言しているため、特定のFsmに対して複数のインスタンスを取得することはできません。 これを回避する方法はありますか?
正しく述べると、Fsmと状態はすべてテンプレートタイプの静的インスタンスです。 これは、特定のFsmとして複数のインスタンスを持つことはできないことを意味します。
テンプレートメタプログラミングの魔法で可能かもしれません。これを使っていくつかの実験をしたことを覚えていますが、かなり複雑になったので、削除しました(tinyfsmの主な目標の1つは、シンプルに保つことです)。
テンプレートステートマシンを宣言して、同じタイプの複数のステートマシンを作成する方法は次のとおりです:
このライブラリを使用して、数千のAIボットのようにfsmを実行するつもりでした...各ボットのFsmオブジェクトをインスタンス化する方法がない場合、これはもはや実行可能ではないようです。 (初心者のc ++学習者なので、回避策がある場合は前向きではありません)。
hm nvermind https://www.boost.org/doc/libs/1_64_0/libs/msmを使用し
同じ問題。 このライブラリをWebSocketサーバー(ステートマシンとしてのWebSocket)に使用したかったのです。
_Boost.SMLに出くわし