Dans l'implémentation d'une machine d'état utilisant Boost.Statechart, j'ai rencontré un problème découlant de la tentative d'accès au contexte externe d'un simple_state
à partir de son constructeur. Un commentaire à simple_state.hpp
me dit:Dans Boost.Statechart, quelle est la différence entre state et simple_state?
// 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<>.
Outre apparemment pouvoir accéder au contexte extérieur de son constructeur, quelles différences ou sont les implications dans l'utilisation state<>
au lieu de simple_state<>
que la classe de base pour mes états?
Merci! Je l'ai trouvé dans les documents ici: http://www.boost.org/doc/libs/1_46_1/libs/statechart/doc/reference.html#ClassTemplatestate, qui stipule: "Les sous-types d'états directs et indirects doivent fournir un constructeur avec la même signature que le constructeur d'état <>, en transmettant le paramètre de contexte. " – drfrogsplat