2

何故かコンストラクタでステートマシンのパラメータを設定できないので、バックエンドからメタステートマシンのパブリックメンバ関数にアクセスしたい。つまり、次のようなものが欲しい

typedef msm::back::state_machine<player_> player;

player p;
p.get_front_end(); //get the address of the front end
p.get_front_end().set_param(34) //call the member function of front end

これは可能ですか?ありがとう

もう 1 つの解決策は、パラメーターをイベントによってステート マシンに渡すことです。

p.process_event(open_theme(34));
4

1 に答える 1

6

バックエンドはフロントエンドを継承するため、p で set_param を直接呼び出すことができます。

于 2012-11-01T22:02:15.233 に答える