我处于需要修改我没写的状态机的情况。此状态机使用Boost Statechart编写。不幸的是,我发现这段代码难以理解,做的人正在度假。
问题很简单,我认为:我有一个变量thing
,我希望在某些状态中使用它。它代表了一个需要了解事物的单一应用程序控制器。我可以给thing
一个构造函数(或其他什么),使其可用于机器的状态?
根据此示例声明状态:
struct Pumping : sc::state< Pumping, Purifier >
{
Pumping( my_context ctx ) : my_base( ctx )
{
post_event( EvPumpingStarted() );
}
// ...
};
P.S。我希望这个问题有更好的标题;帮助赞赏。
答案 0 :(得分:5)
听起来应该将东西传递给机器构造函数?如果是这样,最好将其作为机器的数据成员。状态可以使用outermost_context()函数访问计算机。所以,在一个州内,你会写一些像outermost_context()。get_thing()。